And now we would like to look at the corresponding transformation for band pass filters. Now for band pass filters, we need to think a little more, you know for band pass filters it is very clear that you have multiple stop bands, there is even though there is only one pass band, there are multiple stop bands. How on earth could you get multiple stop bands from a single stop band? You cannot do it by a single element. In fact here we can probably take a queue from what we do in LC networks again, remember we are going to choose an impedance of an LC network. Now what simplest form of an LC network can give us an impedance which has multiple mappings that is you know you want multiple frequencies to have the same magnitude that is the kind of mapping you want. You want the stop band to go to multiple places, how on earth can that happen? That can only happen if you have a second order system, at least it cannot be less than second order, but we can probably make do with second order. Now what we mean by second order is you need an inductance and a capacitance to come together. So let us consider a series LC network and consider its impedance, we have an L and a C and of course we have L s plus 1 by C s. So that gives us LC s squared plus 1 divided by C s. Now we can divide by LC in the numerator and denominator and that gives us s by L which we will write as s squared plus omega naught squared by B s where omega naught squared is 1 by LC and B is a positive quantity equal to 1 by L. Let us consider this transform. Now omega naught squared which is 1 by LC has a very important physical significance. In fact all of us would probably be aware that for an LC network that corresponds to what is called the resonant frequency of the network, the resonant angular frequency of the network. In fact it is that frequency at which this impedance vanishes. So you see the interesting thing is that B also has a significance but that significance we may not all be aware of and let us not be too worried about it for the moment. We will see it in the long run. At the moment we will just regard B as a positive quantity, it is the reciprocal of 1 of L, 1 by L. So let us consider as a candidate a cell to be replaced by FBPS where FBPS is s squared plus omega naught squared divided by B s and let us go through the exercise first of checking for the, now we will do it the other way. We will first check property 1 then property 2 and then we will look at property 3. So of course property 1 is obvious again. This is a rational transformation, rationality is going to be maintained.  So rationality is maintained anyway, there is no problem with that. Now we need to look at the second property stability. So all that we need to do is to substitute S equal to, in fact you know we can do something simpler. Let us divide this into 2 parts. Let us write this as S by B plus omega naught squared by B into 1 by S and now let us substitute S equal to sigma plus j omega and then we have SL becomes sigma plus j omega divided by B plus omega naught squared by B into 1 by S which is sigma minus j omega divided by sigma squared plus omega squared. And therefore if you write SL as sigma L plus j omega L then sigma L is 1 by B times sigma plus omega naught squared by B into sigma by sigma squared plus omega naught squared by plus omega squared, the real part we are taking the real part out. This is the real part of this quantity and this is the real part of this quantity. So we have extracted them. Now you see it is obvious, if sigma is positive then this has no choice but to be positive and neither does this because 1 by B is positive, omega naught squared by B is positive. If sigma is positive, sigma squared plus omega squared cannot possibly be 0, it has to be positive anyway and therefore this is bound to be positive and so is this and therefore sigma L is positive. On the other hand, if sigma is negative then this is bound to be negative and this is definitely bound to be non-zero because sigma squared plus omega squared cannot possibly be 0 if sigma is negative, it is bound to be positive. So this is positive, this is positive, so this whole thing would become negative. So negative quantity plus the negative quantity would give a negative quantity and therefore sigma and sigma L necessarily have the same sign strictly. So if sigma L is positive, if sigma is positive then sigma L is positive, sigma is negative, sigma L is negative and in fact right from here we can also see that if sigma is 0 which means if you are going to the imaginary axis then both of these quantities are 0 and therefore sigma L is 0 as well and therefore we also know what to expect on the imaginary axis. The imaginary axis goes to the imaginary axis which is not a surprise because anyway you are dealing with an LC impedance. So stability has been obeyed and therefore we have guaranteed that if you have a stable analog filter design that would continue to remain stable when you go to the band pass domain. Now the question is why should we call this band pass and for that we need to look at the frequency, sinusoidal frequency transformation. So now let us look at what happens when S equal to j omega L only, S equal to j omega only. So of course that gives us S L which is equal to, it will give us j omega L and j omega L is going to be omega naught squared minus omega squared by j B omega. That is j omega squared minus omega naught squared by B omega and this is very interesting. Let us see how this behaves. Now let us consider some critical points on the frequencies. Which critical points we need to look at? Well let us take a band pass. So a typical band pass filter would have a characteristic like this. It would have two edges of the pass span. Let us call them omega p1 and omega p2. Yes please, there is a question. So the question is what are we practically doing when we make this transformation? Now the answer is all this is still in the phase of design. So we are not realizing it as yet. So all this is still design and we are computing the filter. We have not yet reached a point where we have obtained the filter coefficients. We are yet designing on paper. After we have completed the design on paper, then we would translate it into a realization. So as yet all this design is in calculation. So we have specifications for the discrete time filter. We have converted them into specifications for the desired kind of analog filter. Now we are going into the specifications of the desired kind of low pass filter. Now we will see in a minute. We will design that low pass filter. We will then convert s by using s equal to by using the bilinear transform and there we get a discrete time filter that we would try to realize. So realization is after completing the design. So there we have a band pass filter and we assume as usual that we have tolerances. Now we are quite satisfied with letting the pass band be between 1 and 1 minus delta 1 and the stop band be not more than delta 2 in magnitude and of course you know the nature can be specified. Now you see you will have to decide on the nature of the stop bands here. There are two stop bands. You cannot have different natures for the two stop bands. Either both of them must be monotonic or both of them must be equilateral. We do not at the moment have a facility to allow different kinds of natures for the two stop band. Anyway we do have a facility to allow different tolerances in the two stop band. All that we need to do is if the tolerances are different consider the stronger of the tolerance. So for example if one of the stop bands is the tolerance which forces it to be less than 0.1 and the other one must be less than 0.09 then it is 0.09 that you must choose in your design. Choose the stronger or the more stringent one and then you can put that one if you are satisfying 0.09 you are of course satisfying 0.1. So you will have to do that. Take the more stringent. Having done that we can agree on a set of specifications like this. Let us put omega naught somewhere in between here. We expect omega naught to be somewhere in between here. And now let us see where this maps. You see let us make a mapping of what are called some critical frequencies. So we have omega mapping to omega l. The critical frequencies are actually 0, omega naught and plus infinity or rather 0 plus. 0 plus means a very small positive frequency which goes almost to 0.  This is the mapping. It is very easy to see that omega equal to 0 plus. You see this is already tricky. Now if it is 0 plus then this is of course 0. This is minus omega naught squared by B into 0 plus. So it is minus infinity because you have a quantity in the denominator which is very small and positive. Here you have a fixed negative quantity. It is fixed negative quantity divided by a very small positive quantity gives you an infinite negative quantity. What about omega naught? That is very easy to see. Omega naught maps to 0. That is very easy to see. And as you go towards plus infinity now let us see what happens. You see omega l can also be written as omega by B minus omega naught squared by B omega. So as omega goes to plus infinity this quantity goes to 0 and this quantity goes to plus infinity. So therefore omega equal to plus infinity goes to plus infinity. Now what happens in between? We have only taken the critical points. What happens in between? We need to see that too. So for that let us write down this expression here. Omega l is omega B minus omega naught squared by B omega. So omega l is omega by B minus omega naught squared by B omega.  So it is strictly greater than 0 when omega runs from 0 plus to infinity. That is obvious because when omega is positive then this is definitely positive. What it means is that as you increase omega from 0 plus towards infinity you expect omega also to monotonically strictly increase and therefore going back to the previous table here.  So as you move omega from 0 plus towards plus infinity omega l would move monotonically from minus infinity to plus infinity and omega naught would come to 0. Now you need to see the situation is like this 0 plus would go to minus infinity. Somewhere in between you will have a mapping of this omega is 1 then you would have a mapping of omega p 1 then you would have 0 here then you would have a mapping of omega p 2 and then you would have a mapping of omega s 2 and finally plus infinity. It is going to follow the same sequence. You see we have full control on choosing omega naught squared and B to meet the specifications that we want. What are the specifications? The first thing is that I you know I must you know you want a symmetric magnitude response. So this is going to map to some point on the negative axis and this is going to map to some point on the positive axis. You want them to be equal and opposite. So what you want first is that omega p 1 squared minus omega naught squared divided by B omega p 1 should be equal to minus of omega p 2 squared minus omega squared divided by B times omega p 2 for magnitude symmetry for symmetric pass span edge. Otherwise the low pass filter would have one negative pass span edge and a different positive pass span edge. We cannot allow that. Now we can solve this. It is very easy to solve this. One can easily solve this. In fact, one would obtain omega naught squared is omega p 1 into omega p 2 which is very interesting. Now this is not at all difficult equation to solve. It is a simple you know linear equation in omega naught squared. So you can easily solve it and you would obtain omega naught squared is omega p times omega p. This is very interesting. What it says is that the so called center frequency or the resonant frequency as we chose it in the beginning is the geometric mean of the pass span edges and this is not unfamiliar. In fact, if we take you know a typical LC network with a resistance added by the way, then you know the it is indeed true that the edges of the pass by the points of half power as known do turn out to have a geometric mean equal to the center frequency or the resonant frequency. This is not surprising. This is indeed a property of a band pass filter as known with LCR networks. So this is surprising, but true in this case as well. So omega naught squared is determined. Now what is it that would determine B? Actually nothing at all. But we can put something down to make our whole life easier. You remember in the high pass filter, we had put down the low pass pass span edges 1 and let us standardize that to make life easy. So we could put down the pass span edges 1 not just you see what we have said so far is that the pass span edge on the positive side and on the negative side must be the negative of one another. That is all right.  That makes life easier. So let us put down. Let us ask for this is our choice. Let us ask for omega P1 to map to minus 1 or equivalently omega P2 to map to plus 1. That means omega P1 whole squared minus omega P1 omega P2 because now we have agreed that omega naught squared must be omega P1 omega P2 divided by B omega P1 should be equal to minus 1. That would of course very clearly give us B is omega P2 minus omega P1. And of course the same thing would follow if you put the condition on omega P2. So now we have an explicit value for B and for omega naught. So in fact our band pass transform is complete and we are now in a position to design band pass filters too. What do we need to do? Let us just put down the steps. We have this band pass filter. First step take omega naught squared equal to omega P1 omega P2. B equal to omega P2 minus omega P1. And now we know why we call this B. B stands for bandwidth. So in a way B is the length of the pass band. Having taken that the next step is to design a low pass filter with the following specs. You see omega S1 would transform to omega SL1. S1 omega SL1 is omega S1 squared minus omega naught squared divided by B omega S1. And similarly omega S2 would translate to omega S2 squared minus omega naught squared divided by B omega S2. Now omega S1 would definitely be negative and this would be positive. Take the smaller of mod omega SL1 and mod omega SL2. This is omega SL2 for stop band edge. You see what we are saying in effect is that the pass band edge is of course 1. But this would give us one stop band edge here and this would give us another stop band edge. Which of them should we take? They may not be equal. So naturally you must take the string end, the more the tougher condition there. Which is the tougher condition? The one which is closer. That is why we have taken a minimum here. So take the minimum of the modulus of SL1 and the modulus of omega SL2. Whichever is less that means is closer. Of course both of them will be more than 1 in magnitude. That is for sure. But the one which has a smaller magnitude should be chosen as the stop band edge. So of course now you know the pass band edge of the low pass filter. You know the nature of the pass band. You know the stop band edge of the low pass filter, the more stringent of the two. You know the nature of the stop band. You know the tolerance in the pass band. You know the tolerance in the stop band. So you can design the low pass filter using either the Butterworth or the Chebyshev or inverse Chebyshev or elliptic approximation and then transform the low pass variable SL using a squared plus omega naught squared by BS where you know what omega naught squared and BR. With that then you would, yes please, a question. Oh, the question is what happens to the minus infinity to 0 interval? Where the minus infinity to 0 interval O? You see it is very clear that minus omega, yeah that is a good question. So let us just look at, let us answer that. You see one thing that you need to check is what happens when you put S equal to minus j omega here. So we will see very quickly that this mapping must be odd. You see the mapping the frequency transformation is odd. So S equal to, so if omega goes to omega L then minus omega would go to minus omega L. That is very easy to see. The mapping must be odd. In fact you can see it here. Omega squared minus omega naught squared by B omega. When you replace omega by minus omega this whole thing is negated. So the mapping is odd, isn't it? So therefore whatever you are doing on the positive side of the frequency axis is mirrored on the negative side. And that anyway is required because you want magnitude symmetry. Is that clear? So with that then we have completed our design of the band pass filter as well. And now all of us are in a position to of course once you design the band pass analog filter you can transform it using S equal to 1 plus z inverse by 1 minus z inverse using the bilinear transform. You have the discrete time filter with you and then you can realize the discrete time filter as you desire. So now we have completed the design of band pass filters. And now all of us are well equipped to complete our assignment on the design of the band pass filter as well. And then we shall in the next lecture look at how we might design band stop filters and with that we shall be well equipped to complete the assignment given to us on filter design.


Dear student, today we are going to learn the distribution of sample mean and the sample variance. Here the distribution of sample mean vector x bar and the sample covariance matrix S, vector S. Let x1 vector, x2 vector up to so on xn vector be a random sample from a multivariate normal with mean vector mu and variance covariance matrix sigma. That is the x is distributed with multivariate normal with mean vector mu and the variance covariance matrix sigma. Now by definition of sample mean vector is defined as you know that the sample mean which is equals to what? From x over n to sample mean vector we have basically 1 over n sum i varies 1 to n xi vector. Now taking expectation on both side, expectationally we have on both side, this is the random variable so expectation apply on random variable. As you know that the expected value of xi which is equals to mu in univariate case same as in the multivariate case this is the expected value of xi vector which is equals to the mean vector. The expected value xi key value enter key and you know that this is the constant value constant. Now cancel out these value which is equals to mean vector. So hence the expected value of x bar vector which is equals to mean, mean vector. Similarly, this is the sum of squares. You know that this is the sum of square x bar, x bar which is equals to, now I open this. Sum x i over n minus mean and here is the sum x i vector over n minus mean transpose. Now from here I am telling you sum of x i minus LCM, n times of mean vector divided by n here sum x i vector minus n times of vector transpose divided by n. Now here you have sum and here you have constant, if you apply on constant you know that n times is equal to 1 over n sum of i varies 1 to n x i minus mu similarly you have same factor 1 over n sum i varies 1 to n x i minus mean vector transpose. Now here you have the factor that we just opened the x bar, this is the sum of square. Further we have done that 1 over n, 1 over n, n square we have taken, i varies 1 to n, this is the j varies 1 to n, this is the i and j terms. So this is the x i minus mu x j minus mu, i varies 1 to n. So we have just changed it, subscript is basically dummy use, I keep i and j here, as such it has no effect. Now by definition what is the value of the covariance, now this is the covariance of x. By definition the covariance which is equals to the expected value x minus into expected value of x into x minus expected value of x transpose. Now by definition the covariance of x, x bar which is equal to expected value of x bar minus mu and x bar minus mu transpose. Since each x i is distributed independently with each x j, here the expected value of this, this is the mean and here you have i th and j th unit. The each x i is distributed independently each x j. You know that the covariance, if we have x and x j independently then its covariance is equal to zero. i th unit and here is the j th unit, it is independent then its covariance is equal to zero. The expected value of i th unit and j th unit transpose which is equals to zero, we know that if it is independent then its covariance is zero, for i is not equals to j condition what is i is not equals to j, if i equals to j then you will have this variance, if i is not equals to j then we have covariance, now covariance of x bar, this is the expected value of x bar minus mu, x bar minus mu transpose, where is this value, this value is here. Now we are going to put the values in the covariance of x bar, value entered and you know that expectation applied to random variable, expectation applied to this factor which is equals to what, this is the covariance term for the i th unit, so this is equals to sigma, sigma vector this is the sigma. Now you know that sigma is constant value, so the constant sum will be applied, this is the n times of sigma divided by n, here is the cancel out, now the covariance of x bar which is equals to sigma over n, that is the sample mean is distributed as multivariate normal with mean vector mu, sample mean distributed as multivariate normal with mean vector mu, here we have shown in expectation and the variance covariance matrix sigma over n, now we have shown that variance covariance matrix is sigma over n, that is the mean, sample mean is distributed as mean and the variance covariance matrix and distributed as multivariate normal with mean vector mu and variance covariance matrix sigma over n.


Hey everyone, welcome back to their video on the HACCON CTF challenges. Let's go and get started and see what we're working with here. I just wanted to show off some of the BAC. I have no idea. Beginner challenges or whatever. A lot of these were real simple things, but we should be able to just roll through them. So I'll showcase them all for you in just this one video because there's no need to make a ton of videos just for it. So this rotated is very clearly a Caesar cipher, which we could just go ahead and Google honestly. Again, they're not that hard. There's descriptions of them. Obviously all over the internet. There are the cipher tools all over the internet and Let's just see what we get here. I don't think these will actually work that well for us because Yeah, and they have numbers in it. So that's why this won't work. We could just pass this into ROT 13. You can see this is a ROT 13 one. This would be the flag because it's plus 13, but the numbers are being parsed out by this online tool. So let's use ROT 13 on here. What I'm going to do is just pipe this into, oh, I literally copied what I just had. My bad. Let's go ahead and steal this back from the challenge prompt. Why is that not working? There we go. I don't know why that was so awful. I'm sorry. Hey. And this breaks too for whatever reason. It's not the full flag here. Oh, the dollar sign is in the way. So bash, we'd have to escape that dollar sign because it thinks that's a variable in bash, but so the flag here is dark. Who gives Caesar and a CTF code? Real easy. I didn't use the online tool or ROT 13 for this. I had just used the easy cipher thing that I put together. You can see in another video. So that is just this here. I use the collections module to create a deck, queue, deck, which is just a list that I can rotate and shift back and forth. And then I do that with whatever number I'm actually changing by the key. And then I use the translate function in strings to just go ahead and, you know, move a table. So I use the translate and make trans table function so I can kind of map each letter to the other letter that it would be if it were Caesar cipher shifted. And then I use 13. If I wanted to, I just put I in here and then loop through for I in however many and I could brute force it. But I knew it was 13. And obviously we could just use that brute force attack if we wanted to. So cool. What else we got here? High base, another real easy one. This is very clearly base 64 code. You may not notice it because it doesn't have the trailing equal sign of the variant. But honestly, after doing enough CTFs, you kind of just get an eye for what base 64 looks like. Kind of random capitalizations, mostly all letters and numbers, like an occasional plus sign, stuff like that. So we can go ahead and just throw that into our base 64 decoder. Which I'll use the command line again for. And there it is. This is just a base 64. Easy enough. And we'd submit that. Cool. File, this one was not hard at all. This was just an executable file that you literally just had to run. So if you were to download it, you literally have the binary here. You can do what you need to do on it. Oh, it's a executable file. If you run strings on it, there's stuff there. But literally just run it and it'll give you the flag. It just prints it out. Easy. Next is needle. This was like a needle in a haystack challenge. So they give you a zip archive. We can go ahead and unzip it. If you do unzip text dot zip, it would just extract a text dot text file and mine already exists. But we can just put it there. So we'll check it out.  So what we'll do is we'll grep for the flag format because we know we have it. We know what it would, what it's supposed to be. And there it is dark. It just finds that whole line for us. If we want to extract only the flag, I can use zero E. And just use this here. I think it's OE. There we go. So those flags are extended regular expressions and lowercase O for only what we capture. So there's a regular expression just to grab the flag. And that's all. Toss it in there to get our three points and all caps. This is just a cipher. It's a substitution cipher. And honestly, I don't have that very much of a good tool for it. I just threw it in QuipQuip, which is a really common CTF substitution cipher solver. This, you can add as many hints as you want. Because like some of these, it's not able to solve, right? So let's just say this. We can clearly tell that that word here is substitution. So find it up in the string and just say that equals that in the clues. And then it'll be able to figure out more and more of the actual string here. So substitution cipher is a method of encoding by which units of plain text. Okay. This one got it all except for the K and dark. So then we'd submit that. And that's what I had the flag be. That's it. And we'd submit that. You left it in all caps because for it is in all caps. So, cool. Caves, this was a weird one. I think these are just Egyptian letters or hieroglyphics, which, yeah, you can find however many images for and look for them. Some members of my team had found, okay, why am I searching for determinative books? Yeah, right here. These aren't the ones that we'd actually use. I think we ended up, yeah, this is the one that we ended up using, Egyptian hieroglyphics here. I've got the files. Yeah, this is the one that we used as the translation. And we would literally just go each character by character and write out what it should be. And it says the flag is Egypt is better than you. And it was all lowercase. So we just submitted that as a flag. Go ahead and submit. Get our five points. Numbers, that's a more busy one. That's a hard one that we'll do later because there's a lot there. RSA, this one. It's a simple RSA challenge, but they give you P and Q, so you already have the thing factored. You just have to do the RSA math, multiply these two to get N, take their totions, like subtract one from them, multiply them together, find D, et cetera, and do the inverse. So the code that I have for that is the same one that I've used in many a time before. I'll fire that up, show you. I have a ton of sublime take windows open right now, so I'm just trying to clean it for you. Here we go. So I've used the script a lot in some of the challenges that I've created for the team that I have at school.  But here we go. We just paste in PQ, the ciphertext and the exponent, find N, just multiply them together, phi, the totion function, and I take the multiplicative or modular inverse of these guys of D here. I just take E inverse, and that is out of the Python CryptoUtilNumber function, which has a lot of really good ones, especially inverse, because finding that is hard to do, but knowing there's a Python module to do it for you is pretty easy. And then we just decrypt with using ciphertext raised to the private key mod N as an unpowered function here, and then I convert it out of hex. So simple RSA, not this easy next time. That's a flag. Go ahead and submit that. Rocket. Flag.text, this is a reference to robots.text. Even Google won't be able to find the flag here.  This was kind of annoying to me and cheesy because the robots.text gives you this directory that does, at least the last time I checked, not exist, right? So it doesn't give you your directory indexing, but I guess you're just gonna have to figure out, oh, you'd put in flag.text as a file you're looking for out of that directory, so whatever. The challenge title is, I guess, the pointer to that, but I was very annoyed that that directory either doesn't exist or we're not allowed to see it, because I figured that would be the telltale that, oh, I'm in the right place, whatever. Whatever, don't matter. Oh, let's clean some of that stuff up. I removed the website, here we go. And XOR, XOR, XOR, XOR, and then we'll do numbers. So XOR is a XOR challenge, which I have some code that my friend had written just to be able to break a repeated XOR key, which I'll share. I'll put it on Payspin or something. But this is all in Hex already to begin with.  I had decoded that in Python, so I had just run Python file.text, save that as an object, read, decode Hex from it, and that can be the actual content. So see, now you have the Hex bytes, and we'll just open up real.texts, I think is where I put it. And I wrote all those bytes as real bytes now in there. So now you cat out real.text. It's the actual bytes, not an Hex, but actual daily you should see. So the way that the code works, we have break repeat XOR, it takes a, this is not my code, so this looks like nonsense, but it's something a good friend of mine had written. So I think he uses a hamming distance, yeah, hamming distance here to solve and find English. But he takes it through a base64 decoded file. So all we have to really do is just encode our base64 one. So if I base64 the real text that we just have here, I throw it in something like b.text. If I run, obviously b.text now has all that base64 content. If I run that break repeated XOR key, it needs to have the file, doesn't really have the best testing for it. Again, I did not write this disclaimer. We'll give it b and it'll start to look through, see what a possible key length is. We'll use the recommended one, recommended to spell wrong. I didn't write this. It wants to use the lowest score. So it recommends the minimum here and it recommends 30. And then it gives us a possible key after it kind of tabulates and calculates and does whatever it needs to do to actually run through the hamming distance and stuff like that. Takes a little bit of time, but almost always this thing works. It's barot, barot, barot, barot. And it will try this key, which you can see is just a repeated key. If I enter, it will go ahead and crank it out. And there we have all of our stuff. It decoded into pure English. So from there, I just honestly copied all this and had grept for flag after I put it in a file. Yeah, I think I saved it in crack.text. And then I'll use that same grep oe thing for dark code. And there we go, there's our flag. I love that script, honestly. I'm very grateful for my friend for writing that because I don't know as much as I should for XOR and hamming distance and stuff like that. But it's what I always throw at any XOR challenges because we see them way too often. Now let's look at numbers because numbers is huge and awful and scary, but it's not all at the same time. They give you a ton of lists here that have five values. So 0, 0, 0 is common at the three at the end and 10, 20, 10, 20 is another common one. And that's all we see. So seeing 10, 20, you think like, wow, that's pretty high. Normally we just see up to 255 in lists like this. And I agree, but we know there's a binary difference here. See there are gonna be 0, 0, 0, or 1, 20, 1, 10, 20, 10, 20. So that in my mind tells me black and white, honestly. And I see these as colors. I see these as RGB values. And then I'm thinking with that logic, the first two for each set of values is probably just gonna be a position or a coordinate. So I feel like this is just making an image. But there is so much here. Look at my scroll bar. There is so much data here because this is a color value for every single thing. So I had a lot of trouble actually processing this. So I had to do it from the command line here. I didn't actually open it in sublime text or any text editor because it would just straight up break. I think what I did is I had numbers.text, which was originally a one line. It's all just one line, but I wanted to be able to read it in Python for multiple lines. So I'll show you what I did. I think, yeah, lines.text is where it's split up.  And then I just had to change the very top and the very bottom because obviously the starting parentheses and the ending parentheses just won't be matched. So I opened those all up. I read all the lines and then I figured out what the size of the image is gonna end up being by taking the X and the Y coordinates, just each of them and finding the largest value because it's obviously going to be highest possible position, highest possible pixel. And it was 569. So I app that one up to just want 570. And I created a new image with RGB with that width and height. I load the data out of it. Again, I'm just using Python image library and I manipulated the pixels in there. So for every single number that we get out of here, I, again, I take the pieces out of it. The X and Y coordinates are the first two and the color is the last bit, those three pieces. And since they're all gonna be the same, either 10, 20 or zero, I literally just take the first one because again, they're all gonna be the same. And then I don't know why I inverted it. It's either gonna have a 50, 50 shot.  And then I just set that pixel in the image that we're creating to either black or white. Now I ran this, I get a beautiful QR code. I'll show here so you can see it. And okay, that's super promising, right? Cause now we actually have a semblance of progress in this challenge. So what I had done there is I just ran Z bar image on that. Z bar image is the command line tool that I almost always use for QR codes. And it just gets me a base 64 code after decodes. So again, no trailing equal sign, but we can tell here. And dark QR codes are fun with pill. There's our flag, there's our flag. Super easy, super cool. We did it. But initially I wasn't able to process all that data because all it being one line, sublime text would just choke whenever I tried to open that. So that was hard. But I just doing some command line stuff with it and being able to process it without having a text editor buffer everything. It worked just fine. So okay, that was it. Thanks for watching some of those easy, simple challenges. Now we'll move into the other challenges. Show you some of the other things that I've got. So thanks for watching guys. See you later.


Hi everybody, Joe for jaskiescasebreaks.com. Happy Tuesday coming at you with a 2019-2020 Panini Mosaic basketball hobby pack break. So we got three different dice rolls happening here. The first one, we're going to give away five spots within this pack break. The second dice roll will be the pack break itself. And the third dice roll will be given away four of those random team spots for Mosaic Pick Your Team 7. $350 value. So let's get started. Big thanks to Patrick, Chad, and David going big on this break. So thanks to you for getting in on it. Let's gather all those names here, Jesse. Let's gather all those names and give away those extra spots. And if you're watching live, we just have to do one more of those packs to get us to, and tell us some full spots to get us to Breaksville on that Mosaic basketball. So three and a five, eight time for the extra spots. One, two, three, four, five, six, seven, and eighth and final time. After eight, yeah, no doubt about it. David definitely had the odds. You're in the top five right there, David B. So five extra spots for you on our first dice roll. Second dice roll will be for the pack break itself. And that pack actually comes from a fresh box. Four and a four, eight the hard way. One, two, three, four, five, six, seven, and eighth and final time. Four and a four, hard eight for the teams. One, two, three, four, and eighth and final time. Got the magic down to the thunder. No trade windows in these little filler breaks. Let's just get to the pack as quickly as possible. There's the first half of the list right over here and the second half of the list right down there. Sort by team alphabetically. Let's print and rip. I thought I had loose packs of this. Maybe not. A mosaic baseball, mosaic football, cello packs. Yeah, guess not. Fresh box. All right. So let's flip back over here. So that's the final print out. Hot off the presses. Thanks everybody. And let's pop this where my knife is in my pocket. Fresh box right here. And I guess we'll just use, we'll just use the dice and select a die. We'll go with that one right there. We'll go one, two, three for the left pack. Left side four, five, six for the right side. It's one left side. Then we'll go one, two, three, four, five. Top to bottom. If I roll a six, we'll just roll again. Six, six, two. So second pack down from the left side. This is random as it's going to get. Donovan Mitchell, got LeBron James, Akobi White, Steph Curry, Mbps, Damboya, DeAndre Hunter. So some cards here. Nothing too crazy though. There's still an autograph hiding in here somewhere, but not too crazy. The crazy part is who's going to win those spots into the random team right here, into this. So it'll be the top four. Let's gather everybody's names again. Third and final dice roll. Top four names after six, five and one. Six times. One, two, three, four, five and a one. Six and final time. After six. I know David definitely has the odds. I think he might have swept the top four. Let's see. It's David, David, David and David. Congrats. Top four. You're in that filler. We'll see you next time for the next one. Bye bye.


The government shutdown has been avoided in tonight's CSIS Sheeper Series panel discussed the implications of that budget battle and the path moving forward. I'm joined now by longtime congressman Vin Weber. Congressman, the panel tonight discussed the next big vote, that budget for 2012. What are the challenges in doing that? Well, we have the divided government. Republicans control the House, Democrats control the presidency, Democrats control the Senate, but the way the rules are, it's about 50-50, so you can't really do anything unless you can bring the two parties together. We face, everybody agrees, a very serious long-term fiscal crisis in terms of debt and deficits and spending and things like that. Unfortunately, the two parties totally disagree on how we should solve that problem. The question is, as hard as we had to struggle to get this continuing resolution to keep the government from closing down, does that mean that we are doomed to not succeed in putting together agreements on these much bigger issues down the road? Or is that going to be an indicator that we actually can come together and solve some of these problems? And we're just not sure yet. Now, Senator Warner said that he does see a silver lining on this black cloud of these negotiations that have been very partisan. Do you agree? Well, I think so. I think that the two parties have been forced to come together and come up with an agreement. They did in December on taxes and a couple of other issues, and they did recently on this continuing resolution issue. So there's a basis for working together. There certainly is an understood seriousness by the leaders of both parties, the president, leaders of the Republicans, the Democrats, and the Congress, of the seriousness of our problem, of the need to come together. But leaders have to be able to bring along followers, and that's the question going forward. Can they bring their followers along and solve this long-term budget problem? And all of these negotiations also brought up the topic of civility in Congress today amongst this very prestigious panel of former senators and yourself. What is it going to take for there to be a return to the civility that you once knew? I don't know that it's easy to accomplish in any event. There's so many reasons why the environment is more polarized and more inflammatory than it used to be. It goes to the living arrangements of members of Congress who don't live in Washington anymore. It includes the media and the blogosphere and talk radio and campaign finance laws and everything else like that. I don't want to be a pessimist, but I think that we're going to have to figure out how to manage our way through this very difficult environment, because if we're just going to wait until we solve this problem, we may be waiting a long time. Well, thank you very much, Congressman. You can see our full panel on csis.org and on iTunes U.


Okay, everyone, this is SiliconANGLE's theCUBE, our flagship program. We go out to the events, extract the signals from the noise. We're live in San Francisco at the Red Hat Summit, and we're talking about what's going on open source, cloud operating systems, open stack, you name it, we're on it, this is an amazing event. I'm John Furrier, the founder of SiliconANGLE. I'm joined by co-host Stu Miniman at wikibon.org. Our next guest is Sam Greenblatt, VP of architecture and technology and CTO of Dell. Welcome back to theCUBE, your CUBE alumni, previously with HP now with Dell. Welcome back. Thank you very much. We were talking prior to we went on about just the innovations around operating systems and systems, and now we're in a whole nother era of, essentially open source, really setting the foundation as a tier one resource for enabling huge innovations. And we're living in a massive inflection point, some call it a bubble on the consumer side, but really it's a recast of a whole new architecture. So I want to get your take on a couple things about what's going on at Red Hat. You guys announced a significant announcement with Cloud and OpenStack, and talk about your announcement and what that means for this continuum of computing, computing industry going from data center centric, now to a cloud. And what does your announcement mean? What our announcement meant today was, we are working very closely with Red Hat on a couple things. CloudStack's very important, but we don't see it as a cloud. We see it as an infrastructure as a service, so much that when you buy REL 7 or 6.5, you get, if you order it, the OpenStack can source code, not source code, but the binaries. What's important about it is, we've done OpenStack for a long time and everybody who does it looks at us and says, okay, we got it up and running, what do we do next? And that's always a classic question. And what's happened is applications have to keep up and make the cloud a cloud centric, basic platform. And so therefore we believe that OpenShift is a great pass layer. We also do Cloud Foundry, but OpenShift is where we're putting effort or wood behind the arrow with Red Hat. We're also working on containers. And I saw you had Docker on and Solomon's a character, but what we like about Docker is it gives true portability to anybody who has a Linux platform. And I'm sure he talked about it, he's gonna do Windows in the future. So that makes pure. No, I think that's a scoop here. We'll make that right down. Hopefully that's not a scoop. No, he didn't talk about that though, but he did go into detail on some of the container benefits. Well, if you noticed Red Hat bought a small company in Seattle that does container Windows, so with the partnership you might see that, so. Okay, so let's get into the news. So Dell and Red Hat announced a private cloud solutions reading here my notes. Notable bullet points are co-engineering with OpenShift and Linux containers. It's available for RHEL and OpenStack. So it's an enterprise pathway. So the cloud is a nice bridge and all the customers I talked to that have Red Hat, I always say, hey, I got Red Hat, I got some NetApp drives, I got some EMC drives, I got this company servicing it. It's not going anywhere, but I want some cloud, but I want to look under the hood. And so they go, great. So OpenStack has been that great hope. It's a bridge for them to continue out their mission. So take me through your perspective of that customer, CIO, major financial institution or vertical, where do they get going? Well, we're working with a couple major customers on this. You got to remember that the abstraction is really being done by Red Hat Linux. So they've is able to get the drivers, get the code, get it up and running. What OpenStack does is it uses the Linux more or less the HAL layer, the hardware abstraction layer. And to OpenStack, it doesn't know what's under it. Linux knows what's under it.  So what most customers are doing right now is we're working on a lot of things, especially with Red Hat and RHEL, of making it able to span, if you will, multiple servers, multiple server forms, whether it's blades, racks, or even systems on a chip. We don't really care as long as we can pick up the configuration and go across it. So when we talk to Michael Dell, and we're always enamored by Dell's engineering capabilities, and they do move fast. So talk about the co-engineering piece with Red Hat and OpenShift. What specifically are you guys co-engineering? What part of that is from Dell? Where is Red Hat? Where's the hand shaking going on? Well, let me go down the whole list, and then I can tell you, the first one we're doing is we're working in storage. I go up once a quarter to see the biggest banks in New York. They want to have an open source object store. They think Swift is great. They think Ceph is good. They don't feel that they can scale. So we're working with Gluster and with our Equalogic, which you know very well and compelling. And our engineers are working on how do we take those, those basically arrays and scale out and scale up technology and map it into an object store as well as doing block. So Cinder and Swift are important. We think Ceph's important. We think Gluster is going to help us piece a lot of the things that the OpenStack has done. A lot of the things that the OpenStack community really hasn't touched. The second thing we did is, as you know, we announced Dell Open Networking. We put Cumulus on top of our Dell Switch. No one else has done it. And there will be others in the future. And we are building out a complete solution with Open Daylight. We looked at other projects and like OpenContrail that Juniper put out there. But we are at the point that we believe that it has to be a software overlay. It can't be point to point. We've already proven it can't scale. So we're working very closely with their engineers in that framework. The third thing we're working on is basically management. We want to be, and I showed it on stage today, we want to be able to provision very quickly OpenStack's a bear to put in unless you have tools. And we want to provide those tools. We started out with Crowbar. That went, served this very well. We're now working with Puppet and ASM. We have a great user interface on it. And we think that'll be great. I can keep going. So on the tooling side, are you feeling good at the toolings there and is it open source or is it binary that you guys are contributing? Well, what we're contributing is the reference architectures, the templates that define how to do it. And we're also putting in a rules engine so that it can work in any environment. But the rules engine is Drouals, which is open source. And of course, the code itself is Puppet underneath that does the discovery. And we've taken on with Puppet Razor, which was originally an EMC project and we're using Razor to more or less be able to do configuration. So Sam, you've listed off a ton of open source projects that you guys are embracing. We're well familiar. We actually had Cumulus on when you guys made the announcement about the open networking. Can you talk a little bit about contribution from a coding standpoint? As you mentioned Open Daylight, the technical lead for Open Daylight said that code is point of the land. So how many engineers, how much resource does Dell put into the game of open source? We are right now in a bronze level for Open Daylight. We put a lot of skin in the game.  Sorry, Larry. But Puppet Forge, and we donate all that back. So we want our devices to be as discoverable as anybody else's. We've written modules that handle equal logic. We've written modules that handle compelling. In the networking, we've already put back some code. We have Active Fabric Manager, which goes in, finds all the connections. In Compute, we're still putting modules in to optimize Nova or Compute. So we're pretty active. But what we want is, in the co-engineering, we want those contributions in the future to come from our partner that's going to be the enterprise version, which will be Red Hat. So I got a question from the Twitter sphere around your thoughts around EMC's Viper product. So what, I mean, different approach. I mean, can you comment on that or is that? No, I can comment on it. Software, Viper is an attempt by EMC to bring together six disparate product lines into a software-defined storage. We think it's a great approach. We think it'll help customers. But we believe that how you should do it is the way we're doing it with equal logic and compelling. We're merging the stack into what we call NextGen. That's obviously, there's hundreds of NextGen's. And we're going to keep alive both products but working on a single stack. Viper is an abstraction layer above it. And what we find with abstraction layers when you're dealing with storage, you got to really build a software hypervisor that's able to work with the hardware much more efficiently. So in terms of approaches, you think that's orthogonal to the direction of like an open stack or is it just more of their version of the truth, if you will? I don't think it's orthogonal. I think I wish EMC and that team very well and putting together a overlay to try to bring their storage together. But I think it's really, you're going to find that our solutions as they come out. And Ellen Atkinson who runs our storage will kill me if I make any announcements like I did for Puppet. What will happen is I think you'll see us taking a different approach but a more effective approach. What's your take on the clouds? When we talk to folks who are across spectrum of converged infrastructure, who are dabbling in with the past layer and ultimately have customers that have the requirement for analytics, mobile, bring your own device. We have application centric DevOps world. There's some systems challenges going on around the cloud. So I want to get your take on that because as CTO and someone who's been in the industry through many innovation cycles, booms and busts and it does move in waves. We are now in a major innovation cycle. There is some new changes going on that's going to create some enabling opportunities. So the enabling platform of cloud is presenting opportunities.  Where are the white spaces? What are your thoughts on that? I'll give you one on big data. I have a meeting after now with another Hadoop vendor. Our biggest concern is Hadoop has its own file system. Anytime you have a separate file system for big data that spells somewhat some trouble. What we're trying to work with all the vendors is in one common file system. So that if you have block, object or even Hadoop they can all live together. Where I think this, when you talk converged we used to talk hard work. Then we started talking about software. A converged cloud is a cloud that has IaaS, infrastructure as a service, PAS, platform as a service, NBS, which is mobile backend as a service and SaaS. And it even goes above that, that then you have containers. It's coming together. Is it there today? I think you can start building it but it does take some elbow grease. Okay, so let's take your question about open stack. People can stand up open stack. What do they do with it is the question what are they doing with it? So I want to put the question to you because I think that's the next conversation we'll hear at open stack summit in Atlanta. Which I get to keynote again. And we'll be there with the queue. We want to have you on again. You're on the keynote circuit. I don't want to be on the keynote circuit. I'd like to be home with my wife to be honest with you. You come home, call us to queue, get the keynote. Stu, you're out. No, Sissy, what is that next level of innovation? I mean, because that's the real meat in the bone. The next, first of all, when you get up open stack everybody thinks it's going to be like VMware. And they're going to just put the applications into KVM and it's going to perform the same way. And it's the same with people coming from Hyper-V. And what we see is almost like when you converge. Convergence is not going to happen in one stack. It's going to happen across stacks. And you got to do it through. We want to make paths convergent across both stacks. We want paths to be, we want cloud foundry, which is a pivotal project and Paul Moritz is there. We want them an open shift to look very, very similar. So what we think the big challenge for us right now is not fracture the paths layer, like people are trying to fracture, tried to fracture Linux. Paul always reminds me of the Linux Wars 15 years ago. Paul was in it. I was a young baby at that time. I was in diapers. So we want to get the industry to put the customer first. And that's everything we do at Dell and stop the fracturing and the paths layer. We don't want to see sass fractured. And one of the things we're working with is to make sure that we're able to get the containers. We think the containers are going to be the next big technology. And one of the things that we do believe is with Ramesh, trying to wake him up, working with us, we're going to create a more comprehensive solution. So Sam, it's obvious you're excited and most of the people at this conference are pretty excited about containers. And I think back to the early days of server virtualization. And it took a few years for people to really kind of grok why this was going to be so transformational. I love to use the word grok. Yeah, so I was actually working for the company that acquired VMware when that happened. And to be honest, I don't think everybody understood what they were buying. Even though VMotion was there at the time and we knew that this was some amazing magical stuff out there. What is it about containers that get you so excited? Explain to our audience why this can be the next big thing. The difference between the early days when Diane sold it to that old company.  Portability is what we've always promised. But having CENOS or an operating system, I'm not sure what Red Hat has called the next generation that goes into containers. What's important is that you can take that app and put it on any Linux-based system. Matter of fact, you know last week Docker announced with AWS. We think that's great. You know, you look at Docker and I'm not pushing them. They went from about 25 people in the open source community to over 500 today on Git. But we think containers are going to be the next form of virtualization. Will it replace it? Absolutely not. You're not going to see SAP virtualize into a container. But what you will see is applications that you want to put onto a PC, onto a mobile device into the next internet of things which I don't even want to touch right now because that'll be another five hour conversation. So. And we've got three minutes. We think it's great. So let's talk about the containers. So DevOps really is the culture now. And you talk about this container. What we see is this new breed of application developers are coming in. And whether they're young, new school, or old school that are coding faster, agile, whatever you want to call it, are looking at as a systems approach without being systems programmers. So I think what's interesting about containers that has our attention, I want to get your perspective on this, the DevOps ethos has been, I want to program software and have my infrastructure self-heal, self-form, be self-provision, basically take care of itself. So that's kind of the modern application developer. That's essentially moving up the stack. Do you agree? And is that kind of where? All right, absolutely. You know, if you remember years ago, everybody talked about Mapper when it was on Unisys, creating an application quickly and not worrying about the infrastructure. If you really look at, and I hate to use an old example, but what's happened is, it's really starting to happen with containers. I don't want the application developer worrying about anything but the business logic. And the data should present itself to the container and actually whatever comes down on should be able to be almost like a pipe into that platform to get the data. So I got to ask you the question. The old days always about abstracting away complexities and that's the beautiful thing about software and innovation is that the line of abstraction and what you abstract away from either coders and or other things becomes interesting because now if you don't have to deal with it, it's like what Intel processors were all about. You know, hey, there's a lot of complex stuff going on but no one ever sees it because it just works. Where is that line moving from an abstraction standpoint if you have an open source community, you have an OS, you have distributed computing. I mean, these are systems concepts as we were, as we're getting back to the systems conversation.  The abstraction layer should be at the application. And as you heard me open, the application is the center of the cloud.  Do you know what tower sent it to you? Do you care? It works. Do you know what vendor actually provided it? That's what the application abstraction should do. Abstraction creates a better chance for Dell because the more abstraction you have, the more the architecture of the hardware has to change to make sure we can create. Okay, so in your professional opinion, if you believe that, if people can believe that, then that will create massive disruption from the old way, best and breed, all those ways you used to compete. How does that in your opinion change the landscape? Because it does disrupt, it's a disruptive paradigm. You're essentially horizontally scaling. Right. At the same time you're constructing and building more. So what's your take on that? We've been talking a long time about disruption. Disruptions only disrupting if you're the guy being disrupted. The other guy's the innovator. And what we see is people have to embrace a whole new way of doing applications. And when that happens, I think we're all going to benefit. So the disruptors are the innovators. Essentially people have to really figure out are you being disrupted or not, right? So Dell's an incumbent. If you want to look at quote, if you want to classify Dell and you're basically incumbent, you have computer supplier, computer systems vendor, you have software now, Michael Dell took a private, which is great. We're a big fan of that move. How do you guys maintain that culture of being a disruptor and not being disrupted? Because you have territory. You're on big market share. We have a big market share in the server industry. As you know, we're probably one of the leaders in web tech in the industry. That was a disruptive move about five years ago. Today, a lot of people are trying to get into web tech. What happens is how you do it is you start to look at the architecture. And I always get in trouble for saying this. The von Neumann architecture, which most computers are based on and our friends down the highway are involved, is going to change to more of a parallel compute architecture. When that happens, Dell will have the hardware and the software to meet those needs. So offers at the center of the universe. Final, I'll give you the final word in this segment. What, tell the folks out there, what is this event all about here at Red Hesse? At this point in time, obviously a 10-year anniversary, that aside, it's a nice fanfare, confetti coming from the sky. But from an industry, from a disruption and an innovation perspective, what is so important about this show this week? What's important about this show is we're taking the key open source components and Red Hat and Dell and everybody else is looking for someone to make it enterprise grade. Because if it's not enterprise grade, the banks, the major companies around the world aren't going to use it. So what's major about it is all the people can give the feedback to the leaders of Red Hat, the leaders of Dell, the leaders of OpenStack as to where the future should go. And there's no better place to do it than here. I'll just tell you one funny story. I was at the first Red Hat Summit and at that time, Paul had all these in Massachusetts. Yeah, he didn't want to travel. He didn't want to travel. Sorry about that, Paul. And today, it is snowing in Boston, so I'm much happier that it's here today. Sam, thanks for coming on theCUBE. Really appreciate it. Sam Greenblatt with VP, CTO of Dell, CUBE alumni, industry luminary tech athlete, as we say. Thanks for sharing your perspective. Congratulations on the Dell announcement of Red Hat on the co-engineering for OpenStack. Again, moving the needle OpenStack, becoming enterprise grade. That's what people want and that's what's happening. This is theCUBE. We're live in San Francisco at the Red Hat Summit. We'll be right back after this short break. Okay, thank you.


So we're giving out holiday gifts to each team in town and we're starting with the Celtics. So, Tommaso, let's start with you. Okay, so... What would be the gift you'd give them? I would actually give them, you know, readers, the glasses so that you can only see up close.  I want eyewear that will help them, encourage them to maybe shoot from this area, you know, right by the hoop and a few less threes. That was a convoluted way of saying it, but you follow, right? Yeah, you do not like the three-pointer, do you think? Yeah, I like a fewer threes is what I would like. So are you not enjoying it? I don't know how to give that as a gift. Are you taking it away? Are you not enjoying the Q&A after the game, these press conferences?  But, yeah, I'm team like... I love the three, don't get me wrong. The Warriors are great, but it's like, just maybe shoot 35 instead of 50. Okay, Andrew? So I was thinking bubble wrap for Chris Dapsport's Angus, but I think we've just been talking about his health too long. So just get a better plan than that. Get a backup plan. His name is Isaiah Stewart. He's out in Detroit. Young big man. Beef stew? Third big man. And I'm big on Luke Cornett. I think he's been fine. He started shooting like he did as a rookie. They'd be cooking with gas. He's not. That's fine. Get beef stew, switch between the four and the five. Some depth. It's going to happen. Chris Dapsport is going to get hurt again, but bring in the big guy. Okay, I would wish them health all the way around because obviously this... Here's the thing, like the way they played Wednesday, a little shorthanded, I thought was really impressive. So getting through the regular season, they're totally fine in those situations. So you get to the postseason, you obviously need everyone healthy. And I think Porzingis has been huge in that regard. The one thing, and this is especially, I think, lately where I'm coming... I want them, I would give them the gift of that late game swagger and composure because I feel like they've sort of become a little hesitant in these late game moments where early in the season, you would feel teams kind of come back on them and the Celtics impose their will. And I know that everyone wants to point it out and say, yeah, but those teams weren't the Golden State Warriors. The Golden State Warriors are different. The Golden State Warriors are different from what the Golden State Warriors used to be. I think that that's a game the Celtics need to close out. They just, that late game composure feels like it wasn't even what it was going back to October, early November. The problem is nobody can give them that. They got to find it. They got to steal it. They got to take it, whatever. It can't come externally. And that's still the big worry.  We know that that's still in there. This is what has haunted them in the postseason the last couple of years. It's going to be in the back of all of our minds come April, May, and hopefully June. How do we go ahead? It's going to say Santa flies around the world with reindeer that fly with him and delivers gifts to millions of children. I'm not putting it past Santa to give them exactly what you're talking for. Composure is back. Put it on the list. Mail it, express to the North Pole. It's making it happen. It doesn't have to be tangible. That's why Santa doesn't give every kid a Ferrari. It's like you got to earn it, you know. Okay. Well, I think they can earn the composure. And everything else is a good idea to get a Ferrari. Are you worried at all about their killer instinct though? Hugely, hugely. Like, you know, basically what turned us was they had that whole weird contrived like 23 point thing against the bulls, which was super fun to watch. But we talked about that like it was an example of look. They needed to do it and they did. And then they put the upstart magic in their place. That was great. But nobody's talking about the magic like they're going to win a title. And so those are the two examples that we have of see they're different. They're figuring it out now. We Indiana, they didn't do it when there was some intensity and physicality to that game. Golden State, they didn't do it. So I'm back to be in a doubting Tamasi on that one. I just I would like to see them consistently pull these games out and they really they haven't done it during the J's tenure for the most part, except early on. What would be a good finish to the road trip? Because obviously you got the Clippers on Saturday and then Monday you got the Lakers. And the Clippers have actually been pretty good lately. The James Harden experiment. Best team in the league. Yeah, I get for now. For now, there are the Clippers and it is James Harden and things will I believe fall apart at some point. But what would be a good finish to the road trip of these two games? I want to see the J's go toe to toe with Paul George and Kawhi Lender not from an overall standpoint or scoring, but defensively like Kawhi in the last couple of weeks, if you've watched any of the Clippers looks like vintage Kawhi and it's as much a tenacity thing as him just reaching out and pulling the ball whenever he wants from you. So you're on the road. This used to be their test when they first got together out in Los Angeles and they obviously played twice a year, but match that because you're going to be running into these you know predatory wings in the playoffs. Maybe even in the finals, maybe not the Clippers and they need to be there because you know you're getting from Drew Holiday. You know you're getting from Derek White. And so if the J's bring it defensively like this is going to be a big test for them. And I think just from an energy and alpha standpoint and Tatum has always played well. I feel like against Kawhi. He has answered the bell there now. Leonard's been hurt a lot. So we haven't seen him full strength, but I feel like this is a matchup that Tatum circles. We'll see if he plays first of all and you know how healthy he is, but I like the idea of him responding there and meanwhile the Lakers have been pretty bad since they raised the banner for the in season tournament, but it's still Christmas Day and LeBron knows that it's Christmas Day and everyone's watching. So I'd expect the Lakers best on Monday. Alright, let's switch over to the Patriots now taking a list of what the fans might want for the Patriots this year. Could be a head coach. It could be a number one pick a franchise quarterback or number one receiver. A number two receiver, maybe a third down back a tight end, a quick decision from Kraft a winning season, a playoff appearance. That was that's page one. Let's go to page two. I'm just kidding. We're really willing to do. What is the timeline on this list? I don't know, man. We're out of time. It's going to do it for us. If you're giving a gift to the Patriots, Sandra, I'll start with you. What are you giving them? What's at the top of the list? The most immediate thing is the number one overall pick and that is obviously means them losing out a little bit of luck in a win or two from Carolina.  You don't know if that coach is going to be successful for another year or two at least by the end of the season you have the number one overall pick. You have options. You have assets. You have a pathway forward with any of the passers we're showing now who one of them should be a star. So who what do you do with the number one pick? I mean I got to watch more tape on Caleb Williams and Drake May and Jayden Daniels but I think again you know we So you're but you're taking a quarterback. Yes, no question about it. I'm taking a quarterback but at least if they go in and they watch all that tape and go you know a lot of these guys take more sacks than they should or they find some sort of mold to pick at then you can then you can move back. I'll probably argue against it until I watch more tape. I just say get the pick and have all your options open. Yeah and I know people are kicking around the idea of trading out of that spot. I just take the guy take one of the quarterbacks. They're almost it's almost like if you're at number two and you think it's a two quarterback race then they take you take the decision right out of your hands and you just go with whoever's left there but John Tomasi what gift are you giving to the Patriots? I would have said the same thing. So I'm going to say a broom like Robert Kraft please clean house. There can't be half measures. We've seen too many of the local teams and thinking of the Red Sox. They make changes and it's half measures. It's like no you need a clean start and right now you can do it because your talent level stinks. Your team is nowhere close to competing. You don't have a quarterback. If ever there is a moment where you can start over it is right now. So do it and where you start over to me is at the top. You need to you need to get the right general manager the right guy in charge of player personnel and that's where it starts and it kind of goes back to the conversation we had in the first segment where you need everyone on the same page. So if you're if you're going to bring draw mail back you got to make sure that he can work in concert with this general manager and that they're also in concert with what they want to do with the draft pick who they want to be their quarterback moving forward. That to me I would give them the gift and Robert Kraft the confidence to go out there and identify who that person is and make sure that they get that right. And even just go to recent I mean not so recent Patriots history 30 years ago how did that rebuild start? Like yes Bill Parcell came in then Kraft took over with the ownership. Drew Bledsoe became the number one overall pick and Drew Bledsoe certainly not among the greatest quarterbacks of all time but you got to a Super Bowl a few years later because then you made the right decision with the head coach and GM and got the pieces in place around him but a big part of that run in that era upon which Belichick then rebuilt the Patriots was having a quarterback in place you felt good about and you build the rest of the roster around and just real quick right before that they had the number one pick they traded it to Dallas it was a disaster they got nothing and they got you know Pat Harlow was like so you know you have that pick you have the shot at the franchise quarterback you have to take it all right let's switch gears over to the Red Sox now who we talked about a little earlier taking a look at who the team has actually added this offseason you got pitcher Cooper Criswell and outfielder Tyler O'Neill what else? Don't forget Isaiah Campbell they got him too okay so what else could you possibly need that? What else could you possibly want? Andrew I'll let you go first on this one since we know Tomas is going to get very fired up I think we're going to have overlapping answers just guts you know go out there back up what you said no one forced Tom Werner to say we're going full throttle here I think their needs are yeah yeah well done by you you're very individual cornered him are obvious the talent in the arms are available go sign them even if your plan is at the window that doesn't mean you can't go execute plan B and if you surprise midway through the season make some moves at the deadline we're not asking them to be the Dodgers right now with all of their talent but compete give yourself a chance give your fans a reason to go into the park and buy a seat right now we have fewer than we did a year ago yeah so I talked to David Ortiz a couple of weeks ago and he said what he likes about Craig Braslow the player was that he had Pelotas a Spanish word you can look it up to do the translation I would like to see more of that Pelotas in the decision making that's happening right now because there is still time to be aggressive the trade market other than Tyler Glasnow not a lot has happened there there are starters who are going to be moved there are still big name free agents maybe not to the level of Aaron Nola who resigned with the Phillies or obviously Yamamoto but there are still guys out there so you said guts go be gutsy and do something because there are always reasons to say no the Red Sox are the best team in the league the last five years of being like now we can't do that one more year and then he's a free agent so we can't trade for Corbin Burns even though he's a Cy Young winner everyone now has decided that's a terrible move well he says he won't sign you're the leap in Red Sox trade for him if you think he's good and extend him you can make him an offer he can't refuse they don't they're not in that business anymore Giles they're in the business of no they need to get to yes okay well that's why you guys are all talking about the fortitude have the fortitude to make a trade and show that you're willing to make a trade you're willing to even lose a trade if you have to but to try something that would be my gift by the way if I was giving a gift to the Boston Bruins would be get out of the first round because I'm sick of everyone talking about how they can't get out of the first round so it's just like that's it that sounds more like a gift to you but I get it well yeah what about a big gift last year too with some of those future bets