let's jump into this. So Biden proposed his infrastructure program today, put it out. Of course it's meaningless, right? Because presidents don't dictate legislation. It goes to Congress, Congress smiles it over, changes it, it might pass the House, it might pass the Senate, it will be very, very different when this is all over than what Biden proposed. I mean, what the proposal today is basically an outline, a starting point, but it usually has very little to do with the final bill. The ultimately bills are written by Congress and not by the president. The president is shapes the agenda, see definitely, but if Congress wants to bury the infrastructure bill, they will. But we have, thanks to Donald Trump, we have a House that is democratic, a Senate that's democratic, and a president that's democratic. So they're likely to get what they want. Interestingly enough, infrastructure was a bipartisan issue. It was Trump who in 16 and throughout his administration talked about wanting to pass a big infrastructure bill. He talked about $2 to $3 trillion. Never got it done, but that is, you know, part of the course for the Trump administration. They've actually got it done. But a lot of talking about infrastructure bills, it looks like Biden will actually pass the bill that Trump wanted. We'll talk about this bill and how much of it is actual infrastructure and so on. Okay, let's start with a quick overview of the state of American infrastructure because, you know, the way people are talking, it's like the infrastructure in the United States is crumbling, is decaying, we're all about to drop into kind of Middle Ages infrastructure. And indeed, if you go to the American Society of Civil Engineers, the American Society of Civil Engineers, I could have been a member of that. I don't know how many of you know, but I am a civil engineer in a, in a earlier life, long, long time ago. I was a construction manager. So I was, my undergraduate is in civil engineering. Anyway, the American Society of Civil Engineering grades the U.S. infrastructure as a D plus, D plus. So just a little above F. Now, I have no idea what the standards of the American Society of Civil Engineering are, what their standards are for determining the state of American infrastructure. I don't know what a D plus means. I don't know what any of that means. It's, it strikes me somewhat arbitrary. And it's not clear who is responsible, even in our current system, for infrastructure. I think most infrastructure is the responsibility of state government. And yet this infrastructure bill is a federal bill. It's the federal government taking on responsibilities of the entire United States infrastructure, most of which is really the responsibility of the States. So the whole thing is unclear. According to the American Society of Civil Engineering, in order to bring our infrastructure up to, I guess an A, I don't know, up to a good grade, you would have to invest $4.5 trillion by 2025, $4.5 trillion. Remember, this bill is $2 trillion. And as we'll discuss in a few minutes, yeah, it's not $2 trillion for infrastructure. It's, it's a little bit of infrastructure. It's some infrastructure. And a lot of redistribution of wealth and welfare and stuff like that, couched as in the pretense of infrastructure. Because who's against infrastructure? Don't we all love infrastructure? All right, so the American Society of Civil Engineers is divided American infrastructure into one, two, three, four, five, six, seven categories, seven categories. We're going to go over those categories quickly. The first category is real network. Now, what's stunning about the real network is that the real network primarily is private. It's private. And private companies invest heavily in real infrastructure in order to keep it running, because why, why would they want to, why would they invest in real infrastructure? I mean, those greedy capitalists don't, don't they want the real infrastructure to deteriorate and to just fall apart? Well, it turns out that no, it turns out that that's how they make their money. They make their money off of the real infrastructure. So they need to keep it going, stay invest heavily in it. Indeed, in 2015, private companies invested $27.1 billion in real infrastructure. Now, in spite of that, parts of the real infrastructure are old, part of it are public, like Amtrak, right? Amtrak is mostly public. And there they're running huge deficits and much billions of dollars, like 33.3 by some estimates are needed in order to invest in Amtrak's real infrastructure to bring it up at the snuff. But, but that's the public part of the real industry. So what's interesting is, what's interesting is that of the grades of the various infrastructure projects, guess what infrastructure gets the best grade? What gets the best grade? Well, the rail network does. Why? Because the rail network is the one form of infrastructure in the United States, as they define infrastructure, that is privately run, privately funded, for profit. And it actually says in the summary slide of this presentation about American infrastructure, it says that the rail network gets a greater B, a B, and it says the content is due to private freight rail industry owning a large amount of the rail infrastructure. The rail network is constantly being upgraded and repaired. Who would have thought? I mean, it goes against everything we are taught, everything we believe in. I don't get this. You mean private enterprise does better in investing long term, in investing in infrastructure? I thought, oh no, no, I thought only government could do that because the private sector would neglect the infrastructure, doesn't think long term. They're just concerned, we were told, about quarterly earnings and you don't get any money, quarterly earnings by investing in infrastructure, that's a long term investment. And private individuals don't do that, private enterprise doesn't do that, they don't invest long term. The fact is, the only one of these infrastructure projects, you know, industries that actually gets a grade, I think above a D, is the rail network because it's private. Everything else is run by the government, therefore everything else is lousy. The worst part of the rail infrastructure, what do you think the worst part of the rail infrastructure is? It's the passenger rail, much of which is Amtrak, which is subsidized by the government. So if everything, everything was private, we might get a grade of A, we might get a grade of A. Just some fun facts about railroads, US rail network covers 140,000 miles of train tracks, 140,000 miles, none of those by the way, high speed rail, train accidents, this is a good one, train accidents have gone down almost 79% from 1980. So over the last 40 years, train accidents have gone down almost 79%. That's pretty impressive. All right, anybody know what state has the most derailments, the most accidents, train accidents? Taxes, states with no derailments, DC, Idaho, Mississippi, Nevada, New Hampshire, New Jersey. I don't know what to make of that, but that's the data I have in front of me. All right, second source of infrastructure that needs investment in, I guess, bridges. It is said that 38% of all US bridges have identified repair needs, although none of them or very few of them are about to collapse in the middle of Russia. District of Columbia has only nine structurally deficient bridges, the least amount of any state, although of course, District of Columbia is not a state. Percentage-wise, only 1.6% of Nevada's bridges are structurally deficient, the lowest percentage of any state. Anybody want to know what is the state with the most structural defects, deficiencies? It's Iowa, so if you're driving in Iowa, don't go on the bridges. 4,675 bridges in Iowa have structural deficiencies. Rhode Island has the highest percentage, 25% of the bridges are structurally deficient. So bridges in the United States get a score of C plus, C plus, and 38% of the US bridges need to be repaired. This is going to cost $171 billion to repair all the bridges. This is pretty cheap, right? $171 billion.  There's 620,000 bridges in the US. So we get a C plus on bridges. I mean, bridges strike me historically, not private, but they strike me as something the state should take care of. Why aren't the states taking care of their bridges? Why does the federal government have to bail out bridge deficiencies? Why does, why the taxpayers in Nevada who seem to take care of their bridges pretty well, why are they having to subsidize Rhode Island where the bridges suck, or Iowa where the bridges suck even more? Why are we federalizing something that should be private but as second best could be local, could be, I know privatizing bridges, that's kind of, that's kind of shocking and far removed, but in radical, but what about the state's doing it like they've always done it? No, no, no. We need, everything needs to be federalized now. We don't trust anybody. We have to federalize everything. That's bridges. How many of you want to go over all the different infrastructure this way? Energy, ooh, energy, energy gets a greater D plus. You saw that in Texas, right? And we need to repair and upgrade all the, all the existing infrastructure. Again, we saw that with, we saw that with taxes. But again, isn't energy private? Now it's heavily regulated. Much of it is public utilities, heavily, heavily regulated, basically arms of the government. Much of the need to upgrade the infrastructure and energy is distribution lines, transmissions and distribution lines, which have, most of which have exceeded their 50-year life expectancy. While some of that is private, all of it is heavily regulated, controlled by the states. Of course, the solution to upgrading energy infrastructure is to do what? What's the solution to upgrading infrastructure of energy? It's to privatize. It's to completely get the government out of the business. It's to return to the days where everything, the lines, the production, the distribution was competitive and private. It didn't have any government protection. Didn't get any government subsidies. Didn't get any government anything. So you want to solve the energy and let solar, wind, whatever compete. Of course, the solution there is let nuclear compete. Now that would be a revolution. That would be a real revolution. All right, wastewater. Wastewater treated plants. They're 14,748,000 wastewater treatment plants. And of course, crucial to cleaning the water and everything. According to the associated general contractors of America, there's a group that doesn't have an interest in this. They're completely objective. They won't see a dime of this infrastructure spending, right? According to the associated general contractors of America, four to $600 billion dollars are needed over the next 20 years for safe drinking water and wastewater treatment infrastructure. The EPA on the other hand, a government regulator estimates that only 271 billion is needed over the next 25 years. So I wonder why the general contractors of America are inflating their numbers. You think it's because they want to work? You think this is a consequence of cronyism in any way? Yeah, I don't know. Maybe. Oh, Jacob wants the link. Let me see if I can get you the link. I'll post the link on the chat. I think this is it. Yeah, here's the link. The link on the chat to the article that I am reading from that has all these stats, right? BigWrents.com, right? The state of U.S. infrastructure. And it's citing the American Society of Civil Engineering. It's citing these different sources for this stuff. So wastewater contractors think a lot needs to be invested. EPA, not so much. Why isn't this privatized? Why don't we privatize water? I mean desalination, you can think of a lot of things. Wastewater could be, I mean, all of this could be privatized. Do you know that we have 800,000 miles of sewage pipes in the United States? 140,000 miles of train tracks, 800,000 miles of sewage pipes. So yeah, we're getting to need a lot of money for all this wastewater. And Biden have us covered. Don't worry. Don't worry. The water's going to be drinking is clean because Biden has you covered. He's got money associated with this. Aviation. Aviation. All right, here the grade is D. D. So it's better. It's worse than D plus. It's worse than wastewater. How, you know, we have congestion. We don't have enough airports. Airports are too small. According to this, we need $157 billion is needed to upgrade and repair everything. You know, I fly a lot, a lot, by anybody's standards and need I being accused by a recent article, I think in The Guardian, of being one of the global elites responsible for almost all of the carbon emissions from airplanes, it's people, it's me and people like me, right? Who are responsible for the destruction of the planet because we fly so much. And we have 3,332 airports in the United States. Yeah, I mean, most of them are not great. Some of them are nice. LaGuardia, which is a which was a dumpier airport, a real horrible airport in New York, and particularly the American Airlines terminal has been recently upgraded significantly. I haven't seen the new terminal, but it was being built in 2019, when I was last there, and should be beautiful by now, right? JFK, parts of JFK have been improved significantly. A lot of investment going in at airports. Again, it seems to me that this is a profit center that all you have to do is privatize the airports. I know that the airport in San Juan, Puerto Rico is owned by a private company. I think a Mexican private company. But why can't the airport to be private? Some of them are. And there's a strong incentive to make them better. And you can see constant, I see constant improvement at airports, better restaurants, better facilities, more cleanliness is in an increase. Yeah, just just more comfort, more comfort at airports. It's slow. But yeah, I mean, our airport infrastructure is old. It's not like China that just recently built all its airports. It didn't have any before. And now suddenly it's built them all. And as a consequence of that, it's, it's, you know, it's really got a, I mean, you can't really compare airports in the United States with airports in China. I mean, the airports in China are gorgeous, just stunning architecture, and just amazingly clean and big and comfortable and airy and amazing architecture, lots of light. Anyway, another 157 billion to repair airports. Again, I think all of that would happen if you privatized it, it would take care of it. Roads. Roads is a biggie. Roads have D, great of D. Now, I have to tell you, I've driven in a lot of states in the United States. I've driven all over the country. And I've driven in Puerto Rico. And let me tell you, roads in the United States are pristine. They're magnificent. They're outstanding by the standards of Puerto Rico. So I don't know why people are complaining. But according to this report, we need 420 billion dollars to repair all the roads. Again, why is this not city and states doing it? Put aside the idea of privatizing the roads, which again, is pretty radical. What about city-states doing this? What about the old idea of use taxes? If you're going to spend taxpayer money on roads, then do it on the basis of use. I think of all the taxes among the least offensive in my mind. If it's used for road repair is a gasoline tax. I think tolls on bridges are the way to fix bridges. So if you use it, you should be paying like it would be in a private market. You should be paying for fixing those roads, the maintaining of those roads. Now, how would you walk in a private market in a private market? And I know the libertarians are going to freak out now, but in a private market, you'd put a GPS tracker on your car. A private entity would track what roads you drove on, and they would bill you accordingly. And they would divvy up the money to the different road owners based on the different rates that the toll related to. Now, you could do that even if the municipality owned the roads. Why couldn't you put a GPS? Now, you have to run it through a private company so the government didn't have the data, but the private company would basically bill you and transfer the money, minus a fee, to the local government, and then you would be paying for roads based on usage rather than just arbitrarily based on tax money. And again, people who live in states that have good roads, like Georgia, Georgia only 4% of public roads are in poor condition versus Washington DC, or Puerto Rico, where 93% of public roads are in poor condition. I think in Puerto Rico, it's 100% of roads. Drinking water systems, another D. Oh, drinking water systems. Whoa. So drinking water systems to fix them, maintain them, expand them, a trillion dollars, according to this report, a trillion, 240,000 water mains break a year. Why can't water companies fix that? Why can't localities fix that? Anybody know who is the worst drinking water in the country? It's not Flint, Michigan. It's not Flint. It's Fresno, California. The best drinking water is in Iowa, Des Moines, Iowa. And I don't drive on the bridges in Iowa, but it's okay to drink the water. All right. Iowa has the best drinking water, according to this. All right. I think we covered all the infrastructure. D for water, D for roads, D for aviation, D plus for wastewater, D plus for energy, and a C plus for bridges, and a B for rail. And of course, all this could be privatized and the government wouldn't have to do anything. And my guess is everything would get a B plus to an A plus rating because of rail was completely private. Rail would have a A rating and you could have that for everything. All right. So that's the state, according to one website, one study, one report of American infrastructure. So what is our president in his immense wisdom going to do about this? Well, he is going to spend two trillion dollars, now two trillion dollars is a lot of money. If the fixing all the infrastructure in the United States requires four and a half trillion dollars by 2025. Two trillion is half of that. And the rest could be done by the states and we would have amazing infrastructure in the United States. This is amazing. Well, it turns out that this two trillion dollar infrastructure bill isn't really about infrastructure, or at least a big chunks of it are not a little about infrastructure. All right. So 621 billion are devoted to transportation infrastructure, bridges, roads, public transit, ports, airports, electric vehicle development. Whoa, wait a minute, wait a minute. How do we get to that? Electric vehicle development? I thought that was done by Tesla and GM and BMW and companies like that. What is the federal government going to invest in electric vehicle development? So you can already see the 621 billion dollars, it's not really going to go to fix the railroads and the bridges and the roads and the public. I mean, some of it will go to that. But some of this is actually going to go to electric vehicle development, subsidies to all kinds of electric vehicle makers, I assume. Maybe we can have the 21st Century Motor Company, that's an Atlas Shrug reference, and we can have that government own it. We can skip over all the rest and just have to government own it and see how that does. Tell with Tesla.  Because we know that the only reason we have gas stations is because the government built the gas stations, because that's how we got gas stations. If we didn't have gas stations, if the government didn't build gas stations, who would ever build a gas station? I mean, we need the government to build this kind of infrastructure. I mean, this is insanity. The gas station infrastructure was built by private companies making money off of gas because cars use gas. As electric cars get more popular, those gas stations will include charging stations for electric cars and an electric car charging infrastructure will be built around the country. Maybe Tesla can build charging stations. Ed writes in the chat, Tesla is building a plant in China to make 10,000 charging stations a year. Tesla is always ahead of the curve. Elon Musk knows that the federal government is going to be buying huge quantities of charging stations, and he is building them in China so he can sell them to the Biden administration and make a fortune, which is how we build Tesla through government subsidies and government tax breaks and government redistribution. And he's always ahead of the curve in terms of knowing what the government's going to do in developing a technology to address it. I mean, Tesla is opening up stations now, but why would they continue opening up stations when the competition is government is going to build them or government is going to fund them? I guess as Tesla will get a subsidy for every gas, for every charging station they open up. So $621 billion, I don't know how it's broken up, but yeah, Bridges wrote, we'll get some of it. Public transit, you know what, they're going to build those high-speed reels between nowhere and nowhere in California. Ports, airports, okay, electric vehicle development, God. Okay, that's $621 billion. We still have $1.4 trillion to go. Hold on, guys. Don't get too excited. Now, here's a really important infrastructure project that $400 billion are going to go towards. $400 billion. $400 billion to care for elderly and disabled Americans. Wait a minute. Wait a minute. How is that infrastructure? I mean, it's welfare. It's wealth distribution. But how is an infrastructure? Well, it's not. It's not. The $400 billion is a way to expand welfare by wrapping it around an infrastructure bill that might actually get Republican support because, remember, Republicans were very, very big into infrastructure. Ed says he's 72 and he's elderly. And you're not infrastructure, Ed.  And yet, $400 billion are going to be dedicated to you. Thank you, Alan. Appreciate that. It's not my birthday yet, but Super Chat is good whether it's birthday or not. It's always a good time to celebrate through Super Chat. Yes, I remind you to use Super Chat to support the show. It's a trade, value for value. If you get value from what I do here, trade with me by supporting the show. You can change your name, Ed, but you cannot get younger. All right. So you can see $400 billion already is not infrastructure. Okay, $300 billion into improving drinking water infrastructure, expanding broadband access and upgrading electric grid. Notice how these things are snuck in, expanding broadband. Wait a minute. Isn't Elon Musk already doing that? Aren't we putting out into orbit tens of thousands of satellites that are going to provide broadband across the entire globe? Never mind just a rural America. Private Enterprise is doing this. It's engaged in it. Why does the government need to get involved? Again, crowd out private funding, crowd out innovation. Man, you guys don't know me at all. I mean, one guy's buying me whiskey and the other one's got me drinking malt something. I don't even know what that is. I'm a water and coffee guy, red wine. It's it. All you can do is red wine. They're talking about birthday gifts. I shouldn't be talking to the chat. People who listen to the podcast are distracted by it. So I really shouldn't be doing it. All right. So $300 billion drinking water, okay, qualifies, broadband and upgrading electric grow. Put more than $300 billion into building and retrofitting affordable housing, along with constructing and upgrading schools. Whoa. I guess that's infrastructure. No. It's not roads. It's not bridges. It's not airports. It's not rail. It's not drinking water. Affordable housing, more welfare. And here's a good one. Here is a good one. More than 25% of the entire infrastructure bill. Now, Donald Trump would be proud of this. More than 25% of the infrastructure bill, $580 billion is going to go into American manufacturing. I take it as subsidies for American manufacturing. R&D, research and development because, God, our businesses don't do enough R&D and job training efforts. Because we've got to build those manufacturing jobs up in America. We've got to bring more manufacturing back. We've got to instill an American first attitude and American name. Oh, wait a minute. No, this is Biden, not Trump. I was confused there for a minute. If you want to ask me a question, Super Chat is available. You can use $2. That's all it would cost to ask a question to Super Chat. But I'm trying not to answer questions that are not Super Chat questions. $580 billion to subsidize manufacturing in the United States. When our manufacturing sector is doing great, we manufacture more than we've ever manufactured with a lot fewer people, a lot fewer people. But it's not an infrastructure bill. There's some infrastructure here. Maybe half, probably a little less than half is the kind of stuff we think of as infrastructure. The rest are subsidies, redistribution of wealth, welfare, and all wrapped up with the idea that we're telling Americans, look, we're investing in your infrastructure. And it's an investment, by the way, this is the government investing they're telling us. This brings about a real return on your money. How are we going to fund this $2 trillion? Don't worry, Biden has a plan. And of course, the plan is not to cut spending somewhere else. That would never work. That would never be appropriate. Even Republicans don't believe in that. No, the proposal is to raise taxes. What we need today, what I call the new intellectual would be any man or woman who is willing to think, meaning any man or woman who knows that man's life must be guided by reason, by the intellect, not by feelings, wishes, wins, or mystic revelations. Any man or woman who values his life and who does not want to give in to today's cult of despair, cynicism, and impotence, and does not intend to give up the world to the dark ages and to the role of the collectivist roads. All right, before we go on, reminder, please like the show. We've got 163 live listeners right now, 30 likes. That should be at least 100. I figure at least 100 of you actually like the show.  But at least the people who like it, you know, I want to see a thumbs up. There you go. Start liking it. I want to see that go to 100. All it takes is a click of a thing, whether you're looking at this. And you know, the likes matter. It's not an issue of my ego. It's an issue of the algorithm. The more you like something, the more the algorithm likes it. So, you know, if you don't like the show, give it a thumbs down. Let's see your actual views being reflected in the likes. But if you like it, don't just sit there, help get the show promoted. Of course, you should also share. And you can support the show at youronbrookshow.com slash support on Patreon or subscribe star or locals and show your support for all, for the work, for the value. Hopefully, you're receiving from this.  You'll know what shows are on when they're on. You'll get notified. So, yes, like, share, subscribe, support, like, share, subscribe, support. There you go. Easy. Do one or all of those, please.


So, we have been looking at binary cyclic codes and I will tell you about this ring Rn which is the sort of all quantum numbers for binary coefficients addition and multiplication basically do not below XRn plus 1. Let me ask you a related question. Let's see if somebody gives me an answer. So, we saw that this was a ring. Is this a field? Yes or no? So, there is one person saying no, everybody else saying yes. So, the only field you can get out of this is the binary field 0 1. Once it becomes n becomes greater than or equal to 2, XRn plus 1 can be factored. So, what does it mean when XRn plus 1 is factored? There will be some element inside which will not have an inverse. So, it is not possible. So, it will not be a field. It is a ring. But it is definitely a ring and we can check that. And I said I will define something called ideals. So, an ideal I of Rn is what we saw, what we saw. I think this needs proof. I am just writing it down. Ideal I of Rn is the cyclic code. So, what is the cyclic code definition? It is C0, C1, Cn minus 1 is in the code and by the plus what is also in the code? Cn minus 1 is in 0, Cn minus 2 is also in the code. That is the definition for cyclic code. What is the definition for an ideal? So, it is a subspace. Ideal is a subspace of Rn and then what else should be true? A of X is in the ideal and then B of X is in R. Rn what should be true? What would like to be of X times? R of X should be in the ideal. These are the two properties that define the ideal here and we saw that cyclic code of length n is the exact same thing as an ideal of Rn. So, this is true always. And then we saw some powerful properties for this ring Rn. It happens to be what is known as a principal ideal domain. So, every ideal here is a principal ideal. So, as in just like the integers are a principal ideal domain, when you have an ideal, it is always generated as a multiple of some number. Likewise here, every ideal here is always generated as all possible multiples of one polynomial. In fact, that one polynomial is not necessarily unique.  So, that is a bit different from the integer case where it is unique. So, that one specific generator polynomial is that polynomial of minimal degree in the ideal. So, that one has a lot of powerful properties. So, that is called the generator polynomial. So, it will generate a polynomial minimal degree polynomial in I. So, like I said the first thing we showed was this polynomial is unique. What happens if it is not unique? How do you prove that? Take two of them and then add them. You will get a strictly lesser degree polynomial which violates the minimality of our ordinal effect. So, it has to be unique. Then what else should be shown? Every code word or every element of the ideal is a multiple of, well every code word GFX divides. So, this minimal degree polynomial we call GFX unique one. This GFX divides every polynomial in I over what? Sx. So, over the S2x, over the binary field. So, you do not have to do any modulo x bar n plus 1 to make it divide. Just divide, there is no problem. Then we showed GFX also divides, divides what? x bar n plus 1. So, that is very nice. So, the final thing gives us a very firm handle on all possible cyclic codes. Suppose I want to list out all possible cyclic codes of length n, what should I do? So, I know GFX divides every C of x bar n plus 1. So, this property is crucial in tabulating all possible cyclic codes of length n. So, it is very easy now. So, I know how to factor x bar n plus 1. How do I factor x bar n plus 1? I have to find an order n element of some finite field. And all its powers will be roots of x bar n token, all the n roots. So, it factors into linear factors in that field. And then what do you do? How do you get binary factors? You just group this if you want to cosets together and you get the binary coefficient factors. So, you factor x bar n plus 1 into a product of reducible over S2x. Once you do that, all possible GFX can easily be identified. You just take all possible factors of x bar n plus 1. From there, you get all possible cyclic codes. Another interesting point here is n minus k. So, you have an nk cyclic code. n minus k equals to what? Degree of GFX. So, that just comes from the property that GFX has to divide every possible probe idea. The probe idea has to have degree n minus 1. So, if GFX has some degree d, then you can have n minus that many probes. So, that will be the dimension of the probe. So, this is another factor that's interesting. So, we saw this before even for the DCHKs. So, the DCHKs actually got some result like that. That's a special case. So, I know this is Shastra week or whatever. We might be totally distracted by various things. I don't know if you saw. If you had time to go back and look at this, I think about this. Is there any question on this stuff? Seems okay. Simple enough. So, that's the generator polynomial. So, one nice thing about this is that it gives us a good generator matrix. So, you can find the generator matrix. How do you find the generator matrix? You can find the matrix G, which has to be k cross n. In the first row, I will put GFX. So, what do we mean by putting GFX in the first row? Okay, you see, GFX is going to be sum. Okay, you can show that you cannot have anything other than one. One plus GFX plus one of two. X bar and minus k, right? Okay, so that will be the column for GFX. Okay, why can't this be one? Well, why should this be one? Why can't it be zero? That should be the right X bar and plus one. The zero is no way it will be the right X bar. Okay, so that should be one. Okay, so when I put GFX in, how do I do that? One G1, G2, zero, two, Gn minus k, which should be one. All of that will be zero. The next row, what would I put? X times GFX. How do I X times GFX? GFX shifted right by one. So, likewise, you go all the way down to X bar. Sorry, k minus one times GFX. That will be the last row. That gives you a k cross n generator matrix for us to click code. Okay, so this is a nice binary generator matrix. You can do this for the DCS code also. Okay, so that keeps you at X. Okay, so that's the generator matrix. And the generator polynomial plays a crucial role here. Okay, how do you know that the rank of this matrix will be k? This is a diagonal path with one dot. Clearly, there are, okay, there has to be nearly one. Right, so this will take this right here. Law will be one. One, one, one, one, one, one. Okay, and that path clearly is going to have rank k. You cannot have rank k, so that's fine. Okay, so a lot of other questions we can ask. So what about the binary parity check matrix? Okay, so one way of answering that is to say, you take this generator matrix, do both in elimination. You do the nice. And then you use the IP, P transpose, I formula to get the parity check matrix. One can do that. There's no problem. But then it doesn't seem very nice. It doesn't give you any ideas on where the system is coming from. So for that, we'll use something called the parity check polynomial. Okay, just like a generator polynomial, there was something called the parity check polynomial. Okay, perfect polynomial. Okay, it basically is defined as fellow. So hope perfect is defined to be. Okay, so the symbol basically means I'm defining h of x to be something. X bar and plus one divided by b of x. Okay, I know g of x divides x bar and plus one. So I do the division. I'll get h of x. So h of x has a degree n minus k. So what will be the degree of h k h of x? What will be the degree? X bar k, right?  Okay, so I know for sure that this h zero will also be one. And h k will also be one. How do I know that? Okay, so it's very easy. So g of x times h of x has to be equal to x bar n plus one. So you equate the coefficients on the power of x bar n and equate the coefficients in the constant term. We'll get that these two guys have to be one. Okay, so it's very easy. Do that. So these two have to be one. So this will be the sum of h of x. The middle things I don't know. Some of them will be non-zero. Some of them will be zero. It depends on g of x. Okay, so that we can't control. There are other things we can do. Okay. And the claim is, claim is the following. We can easily prove those. So you put out a c of x in the code. This implies, in fact, it implies that c of x times h of x is equal to zero in r n. Okay? It's not zero in f two x. It's zero in r n. What does that mean? c of x times h of x is zero in r n. What does that mean? In f two x, what does it mean? Yeah, x bar n plus one derives c of x times h of x. That's a trivial kind of statement. Why is it trivial? c of x is already a multiple of g of x. Okay, c of x is sum of m of x times g of x. What does g of x times h of x? x bar n plus one. So clearly it is a very trivial sum. That is also true. I mean, you can think about it for a while and write it down. We'll see that otherwise. If we have c of x times h of x equal to zero in r n, then it also implies that c of x. For example, if I want to divide this and some part of it will go into h of x, the remaining part has to go into zero. There's a c of x. It can't do anything else. That's the claim. And the proof will stick. It's easy to see. Okay? So now what I'm going to do is c of x is equal to c of x plus c of x plus c n minus one x bar n minus one. And h of x, let's write it in the form of zero plus one x. That's k x bar k. This is zero n r n. Okay? So let me do the multiplication in r n. Multiplication in r n is very easy. How do you do multiplication in r n? You want to do any major division in r n. So please say x bar n to be one. Anytime you get a power greater than x bar n, you reduce it by that much. If you have x bar n plus one, what does it become? x. x bar n plus two becomes x square. So if you do multiplication in r n, and try to get the coefficients, come, let's say, x bar zero to x bar n minus one. Okay? So x bar is what I should get. There's x bar n minus k minus one. If only those things will be meaningful, that's not the meaning. So you see that. Okay? So let's write it down. So let's write down the coefficient of x bar zero. That's the coefficient of x bar zero here. Let me see who gets it right. What will be the first term? C zero is zero, got it? That's it. Departure. Okay? What else will you get? Yes. So you can do h one times c n minus one. That will also give me a constant term. This may x bar n. Okay? And then h two times c n minus two all the way through up. h k times c n minus k. Is it okay? All right? So, so x bar zero is a bit confusing. So maybe let's start with x bar one. Okay? So if you do x bar one, what do you get? Okay? So maybe I should maintain the multiplication for the helpers. Okay? So let's do the, let's keep what we're trying to do. Okay? So let's keep that very short. So suppose I say x bar one, what happens to x bar one? I think this is slightly nicer. Let me see. Oh, maybe, maybe I should do something else. Okay? Let's start with x bar n. n minus one. I think this is better. Yeah. x bar n minus one. What's the coefficient of x bar n minus one? That's zero times c n minus one. What? That's one times c n minus two. Okay? We don't get any crazy kind of situation to do n minus one. Okay? We go all the way down through. That's k times t n minus k. Is it okay? Right? This will have to be equal to zero, right? So this is zero n r n. Clearly, I'm doing the multiplication in r n. So the possible coefficient should go to zero. Okay? What about x bar n minus two? That's zero times c n minus two plus h one times c n minus three all the way down through. That's k times c n minus four minus one. Okay? So you see, you see what's happening. Sorry, n minus k. It should be a minus one here. Minus two here. Okay? Alright, so you can see what's happening here. That zero to h k is kind of remaining the same. Initially, I'm multiplying from c n minus one to c n minus k minus one. And then the next step, I'm multiplying from c n minus two all the way to c n minus k minus two. Okay? So I want to go all the way down through. Let's say, I'll go down to x bar k. Then I'll do x bar k. The right thing. There are n minus k of them, right? No? You like it? Is it okay? What is the problem? Okay? So what is x bar k? That's zero times c k plus h one times c k minus one. I'll do it. Two. That's k times c zero. Four zero. Okay? So you have n minus k equations, right? n minus n minus k is k. So you have one to n minus k. The reason why I'm looking for n minus k equations is in a tile digit matrix, you'll have n minus k linearly different conditions. So what I'm going to do is I'm going to write this in matrix form. Okay? Let's write this in matrix form in a particular way. Okay? So I want an n minus k cross n matrix so that h times c transpose will be equal to zero. Okay? So I'm going to put c here this way. Is it okay? So how should I put the c? I should start with c zero. c one all the way down to c n minus k. Okay? This is my multiplication. I'm writing it just to aid my writing down. So that should be the first row. Oh, my c n minus one gets multiplied by h naught. So I should have h naught on the right-most side. Then that should h one be to its left, right? Which one? All the way down to k. Is it okay? What will be the next row? So here we'll have zero. What will be the next row? So this will be zero and h naught, h one, all the way to h zero. Is it okay? So you've shifted it left over. I'm keeping c the same. I'm moving this to the left. So all the way down to h k coming here. Okay? Zero, zero. Okay? Is that clear? So the same equations have been written in a matrix form. Okay? Now this is an n minus k cross n matrix such that h times c transpose is zero for every single codewall in my code. So what kind of a matrix is this? It's a tidal check matrix. How do I know that the rank is equal to n minus k? You can see that h zero and h k are one and you have clearly some eggplant angular matrices on both sides. So there's no way the rank is going to be less than n minus k. Okay? So rank is equal to n minus k. So this is a valid tidal check matrix. Okay? So then we'll start our notation for this also. There's one confusing part is the first row is the mirror image of h fx. Okay? It would be nice to have h fx itself. But it's not quite h fx. It's the mirror image of h fx. Okay? So let me call h four effects as x power k of h fx per degree of h fx. Okay? x power degree of h fx times h fx inverse. What does that do? What does that do? It does the flip. So if you have h zero plus h one x plus h two x square all the way to h k x power k, this operation will give you h k plus h k minus one x plus h k minus two x square all the way to h zero x power k. Okay? And then I can write this part of the check matrix in a nice form like this. So in the first row I can put the last row here just to make it look similar to my generator matrix. So that's the first row, h four effects. Am I right? That's the next row. What is the next row? x times h four effects. Okay? All the way down to, what is the last row? x power n minus k minus one h four effects. Aha! This is the paradigm check matrix of my cyclic code with generator matrix G of x. It also looks very much like a generator matrix of cyclic codes that we had before. Okay? Except that the only thing we're not sure of is, whether h four effects divides h power n plus one. Well, h four effects divides h power n plus one. Yes or no? Yes. Yes? How do you show that? Okay, h four effects divides h power n plus one. h four effects divides h power n plus one. So basically we, h four effects divides h power n plus one. Okay. So basically you can also show h four effects will be right. Let me claim this. h four effects divides h power n plus one. It's true. It's true that it will happen. How do you show this? It's quite easy. Okay, so you can kind of follow the argument that you said. Or you can just put that h power n plus one is g of x times h four effects. Okay? Now do the reversal operation on this equation. Okay? What will you get if you do the reversal operation yet? The experiment. The experiment. C of x inverse. C. B. Okay, experiment. What's the experiment? X bar n times g of x inverse. No, no. Do the reversal operation on the left-hand side. Don't do anything else. What should you do? X bar degree of the left-hand side. What is the degree of left-hand side? n. Instead of x, you put x inverse. So you'll get x bar minus n plus one. Then you multiply the x bar n. What will you get? You should get the same thing. This is like inside a symmetric polynomial. Can you do reversal on a symmetric polynomial? You'll get the same thing. Okay? So you do reversal, you'll get x bar n. So here if I do reversal, I'll have to do x bar n times. I know the degree of this is also n, right? X bar n times g of x inverse. x of x inverse. So how can I distribute this x of n? Put n minus k for g of x inverse. And put x bar k up to x of x inverse. So what is this k? This k is the reversal of g of x. This k is the reversal of h of x. This is h bar of x. Clearly, h bar of x divides h bar n minus n inverse. Okay? So this h bar of x is a valid generator polynomial for a cyclic code of degree n. Okay? It divides h bar n plus 1. So you can generate an ideal with it. And it will be a proper cyclic code. There's no problem. Okay? So what we've shown, by looking at the value of this matrix carefully is the dual of a cyclic code. Remember, what is the dual of a code? It's the code for which this guy is the generator matrix. So the dual of a cyclic code is also a cyclic code with generator matrix given by this h bar of x. This is what we've shown. Okay? So that's the final result. The dual of a cyclic code is also cyclic. If this k is generated by g of x, this k is generated by, dual is generated by h bar of x. How do you find h bar of x? You first find h of x. First find h of x. And then dual of x. Which bar of x is? The reverse-elected. It's bar degree of h of x. Finds h of x. Is that okay? So anyway, I mean, so it's good that the cyclic can all die up and it's very nice, but one thing that's very nice about itself is for cyclic codes, one can come up with a paradigm check matrix, binary paradigm check matrix, which is very, very easy to describe. So what is so nice about it? It's like I said, easy to describe. This describes so many entries, n minus k cross n, if n is 1000, k is 500, you might think it's a big matrix, but then what should I do? I only have to describe the first one. I only describe the first one, and then you can quickly find it. So paradigm check matrix is very nice. And like I said, the paradigm check matrix is used in several decodings and smart ideas and decodings. So it's good to know that paradigm check matrix is in binary ones. You can do this for a BCH code also. You can do this for a BCH code, but then there is a slight confusion. If n equals all of us beta, you can do it. Then this is greater, what happens? You're getting a shortened code. For a shortened code, the generometric is easy. paradigm check matrix is a bit more involved. It's not that easy when you shorten. It's a little bit more involved, but you'll be able to do that. It will not be systematic also, but you'll be able to do it. Is that okay? So I think this is all that I want to do about cyclic codes. I mean, I'm going to move on and share the connection between BCH and cyclic codes more explicitly next. I don't think we have to really look at anything more besides this. Let me just think for a while. Do anything more. Okay, so maybe I should just write down some simple things. So if you're using cyclic codes, so the encoding, and these are some of the principles which are quite useful, encoding and error detection are very easy to implement. Okay? So that's the first thing that you might want to take from in case you want to know all the equations just to know those final big picture views. Encoding and error detection are easy. Why is encoding easy? How can we do encoding? It's completed. M effects times Q effects. So in case you want systematic encoding, what can you do? What do you do with systematic encoding? Do X bar n minus K times M of X, divide by G of X, take the remainder and put it in. That is also very easy, just to register. What is error detection easy? Sorry? Yeah, exactly. So you have to only do this multiplication. Okay, so this property is what makes error detection very, very easy. Okay, it makes error detection easy. Okay, it's not enough to evaluate one row of the parameters. You have to evaluate all the rows. But all the other rows are simply shifts of the first row. So you can do a very easy shift register kind of circuit. Then keep shifting it, shifting it, clocking out. If everything is zero, then it is a valid, valid code. It's not a valid code. So error detection and error correct encoding can be done very, very easily. In fact, you can also do something else. Okay, very simple. Without doing any HFX also you can do it. What can you do? Take the RFX, divide by G of X. Like I said, division is also something that can be very easily implemented. You divide by G of X and see if you get a remainder. Okay, so error detection can simply do the opposite. Just divide by G of X. See if the remainder is zero. So divide division, there is a very standard LSSR kind of circuit that's available. One can do it very easily. Okay, so we divide by G of X. Here you kind of multiply by G of X.  This is very, major work is going on upstairs and we're just doing it at all times. Okay, so you multiply and you divide by G of X on the other side. Okay, so couple of things are not really addressed explicitly. One is how do you construct a simply code with a guaranteed minimum distance? Okay, so we have not done that very explicitly. The other thing is how to do decoding. Okay, so we can do syndrome detection. There's no problem. But then it becomes hard like we motivated before. A nice solution for both of those problems is the BCH code. So BCH codes are simply codes which have good encoding, good error detection as guaranteed for any C-click code. On top of that, you have guaranteed error correction capability. We also have simple algebraic implementations of the decode. Okay, so for both of those decode, guaranteed error correction capability, guaranteed minimum distance and ease of algebraic decoding, you have to pick the G of X very carefully. Okay, so that's why this notion of zeros of a C-click code something. Zeros of a C-click code are basically what? Good stuff? Zero codes. Okay, so these are called zeros of the C-click code. Okay, so what is so special about the zeros of the BCH code? Okay, so if you look at the example, what is so special about zeros of BCH code? Okay, what is so special about the zeros of the T and a connecting BCH code? What are the zeros? Okay, so if you have beta as the value of the element, you would get what? Beta 2, beta squared, beta power 3, so on to beta power 2P. Okay, so the zeros, the powers of beta that are zeros of the BCH code come in what's called an arithmetic progression or a very simple progression in this case is 1, 2, 3. They are constitutive. Okay? You have 2P constitutive powers of beta as which says the BCH code. And if you go back and look at the derivation of the minimum distance, the fact that these were the powers of beta and they were constitutive both are very, very critical. Powers of beta, of course, it has to be power of beta. But the fact that they were constitutive, the third any break in the middle was used very, very strongly in the proof. If you go back, we went back to the Vandermonde matrix, right? And the Vandermonde matrix works only when you have constitutive powers. Otherwise it will not work. Okay? So that's the crucial idea here. And then you can also go back and look at our algebraic decoder. Okay? Our algebraic decoder will not work if you did not have constitutive powers. Okay? So at least maybe I didn't show you all the simplifications that the bellicamp iterative method, all these things will not work that easily if you did not have constitutive powers as zeros. Okay? So having constitutive powers of beta as zeros is the crucial idea in the construction of this algebra. Okay? You can extend this a little bit. In fact, you can say I don't want beta, beta squared, beta by 3. I can, in fact, start at some b. Okay? It can be b plus 1, b plus 2, b plus 3, all the way to b plus 2. For some b. Okay? That's why I said, you know, I've necessarily started wanting. So unless you have any 2t constitutive sets of zeros. Okay? So if you start at b equal to 1, it is called at b equal to 0. I'm sorry. If you put b equal to 0, it is called a narrow-sense bch code. It's just terminologies. It's jargon. It's completely unnecessary. But usually 2t b equal to 0. So it becomes something called narrow-sense bch code. Those also are the terminologies that are relevant to us. But the crucial idea I want to emphasize is if zeros are constitutive powers, in fact, for the generalization, for the constitutive also, you can also have an AP with common distance being relatively prime to the order of theta. So you can do that also. That also will give you the same thing. Zero's constitutive implies guaranteed minimum distance. It also gives you implementable algebraic decoder. Boundless distance, right? So boundary distance wouldn't be a problem. If you go under boundary distance, I think it will work. So that's the crucial connection between cyclic codes and bch codes. So initially I think cyclic codes were studied and great that hoping that there will be a lot of other codes which are not necessarily consecutive or maybe they are building blocks or so many other codes and people are doing it with a lot of enthusiasm that as it has turned out, many people have shown that it do not really work. When you don't know if you want to get the capacity or things like that, as we'll see in the next course, cyclic codes are not that useful. So today I would say not many people are looking at cyclic codes very seriously, except in some storage contexts. There are some more interesting ideas that I need. So that's the cyclic codes idea and the next thing I want to go through. So let me just do the bch code connection more precisely and give some examples about some of these things. So if you look at the construction of a bch code, you have to take n equal to order of beta. So I did this because I showed the cyclic property. So you can see clearly it has to be once you pick n equal to order of beta, bch code becomes cyclic. So this is one of the properties I proved just based on the definition. You see it's a cyclic that is the main connection. So let's take some explicit examples just for fun. So if you pick n equal to order of beta and then let's say you pick t equals 1. What happens if you pick t equals 1? A tidy technology such as one code, 1 beta, beta squared over 2 beta power n minus 1. A very common example is to pick n to be equal to 2 power m minus 1. So what happens if we set n to be equal to 2 power n minus 1? How can you pick beta if n is equal to 2 power m minus 1? So we just simply take set beta to be the element of gf2 power m and it is primitive. So a bch code that n equals 2 power m minus 1 is called the primitive bch code. So what codes we've been looking at are basically called primitive narrow sense bch codes. Narrow sense because we pick b to be equal to 0 and then primitive because we pick n to be equal to 2 power m minus 1. That's the special case we're looking at. These things are not necessary in general but the special case is that. So if you do that, what kind of a code is this t equals 1 that I'm selecting bch code? We know it by some other name also. Anybody identify that? 2 power n equals 2 power m minus 1. I have a t equals 1 which is b equals 3 code. What kind of a code is that? It's also the hamming code. Let's call it the hamming code. So you might say I described it decently. How did I describe the hamming code? I said each column has n bits. I picked all the non-zero n bit vectors put one after the other and you get such a code. And I'm doing the same thing here. I'm doing the same thing here. Remember each beta also has a vector notation which is n bits. And now I have all the possible distinct n bit vectors What is nice about this order is in this order the code is sickly. So the hamming code is the same code is sickly in that order. What do you mean by order? Why is the order suddenly important now? So if I pick my n bit vectors in the natural order 1, 2, 3, so on it will not fit this if it doesn't fit this then the code is not sickly because I promoted my code website so it won't be sickly anymore. I have more guarantees but if I pick my n bit vectors in this order I suggested the 1 beta, beta not only do I get a hamming code but I get a hamming code in the sickly form. So let's see one specific example here. If I remove the example what if we generate a polynomial for this hamming code it's the minimal polynomial of what? Beta. So it's the minimal polynomial of beta. Is it okay? Right? How do I know that this is the smallest degree polynomial in my code? From the sickly code side hamming code I basically, so the BCH code I basically define this to be the generator matrix now that we generate a polynomial we know now the properties of the generator polynomial we know that generator polynomial is the polynomial of least degree in the sickly code How do I know that the n beta effects is the least degree polynomial in my sickly code? Yeah, it's the minimal polynomial that's the definition polynomial with binary coefficients it has beta as its root Of course, n beta effects has to be the minimal degree polynomial, nothing else can happen Okay? Now you can also go back and see my arbitrary definition was a b-recting course, I'll come back to that but let's keep this in mind and let's do one explicit example we'll pick n equals 3 before n equals 7 g of 8 per meter Okay? So if you do the hamming code you might pick the parity check matrix from the natural order which would be what? 010 011 010 010 If you list out the code words of this code, defined by this parity check matrix it will not be sickly You can see that there will be some code words to sickly code shift which will not be in the code So this is not sickly How do I make it sickly? I have to design it in the order suggested by beta So for that, we will pick beta part 3 equals 1 plus beta and then list out the elements of g of 8 So I get 0, 1, beta beta squared which is okay, beta part 3 which is 1 plus beta So let me write down the vector notation 0, 0, 0, 0, 1, 0, 1, 0 1, 0, 0, 0, 0, 1, 1 and beta part 4 equals what? beta part plus beta which is 1, 1, 0 and beta part 5 equals beta part plus beta part 1 is that right? 1, 1, 1 and then beta part 6 is 1 plus beta part 1, 0, 1 So if I put my time to check matrix in the order of beta so the first thing should be 1 this thing should be beta which is 0, 1, 0 the next thing should be beta squared which is 1, 0, 0 already we are seeing a difference in the order here 1, 0, 0 and then what? beta part 3 which is 0, 1, 1 am I right? beta part 4 which is 1, 1, 0 beta part 5 is 1, 1, 1 and beta part 6 is 1, 0, 1 If I put it in this order it becomes sickly so the 16 code words of this code you will see it this way so that is a nice thing to remember about the coming code in this particular order in which you pick the columns you can make it sickly and that is suggested by the powers of beta and what is the generator polynomial model for this x part 3 plus x plus 1 so not only do I know it sickly I know that every code word is generated by multiple of x part 3 plus x plus 1 only in this form it is not in this form I do not know that so this is nice about the coming code ok so let's go to the arbitrary case so if you look at the p of the correct 2 BCH code ok I gave you the definition for the generator polynomial what was it? basically the LCM of m beta of x m beta square of x I will go to 1 beta power 2 p of x does that make sense now in light of our new definition of sickly codes ok now to go to the BCH code I am looking for the least degree polynomial which is an element of the code I know beta beta square all the way to beta power 2 p of roots of my code word so on the least degree one LCM of the product LCM of this minimal polynomial has to be the answer so you see that's how we define the generator polynomial generator polynomial definition I gave before makes sense as a sickly code ok so that's why all the code words are generated as multiples of x everything works out yeah I did it kind of in reverse but when you do the sickly codes later you see that there is a unity between these two ok the reason why I did the matrix first is what is most critical about the BCH code is the fact that it can be decoded very easily that comes just from the matrix and the consecutive powers it's got nothing to do with sickly the sickly part is nice it's good it ties up everything together but in practice the decoder comes really from the consecutive books you have not much to do with the sickly ok ok so that's the that's the two other correcting BCH code and that's pretty much all I wanted to say about BCH codes there are there's lots of work that was done in the 60s and 70s to flesh it out so this almost most of the problems are well understood in BCH codes in a way I mean understood in a sense if you know I love it but it can be solved or not ok good problems that cannot be solved nobody looks at it so for instance one of the problems is if somebody gives you an arbitrary sickly code it says this is my GFX ok you don't pick powers considerably or anything like this some arbitrary GFX ok can you compute anything about compute the minimum distance ok so those are considered difficult problems nobody tries to solve so what is interesting in my opinion even today's can you correct more than TRS ok what guarantees can you give so ok I suppose you can come up with some decoder which maybe you will correct TRS more than TRS once in a while but can you give any guarantees can you say that like 50% of the weight T plus 1 errors can be corrected so there it's possible I don't know if it's possible or not if it's possible such a fraction of T plus 1 errors can be corrected can you come up with a decoder like that that could be something which is still open and people are still interested ok but like I said in the DVB the digital video processing standards DCS codes are used and if you can come up with a practical algorithm which can decode more than TRS it's great ok but go back to our algebraic decoder and see that correcting TRS was all that is possible right so we use the 2D syndromes to correct TRS you have to correct T plus 1 errors there's no way you correct all of them ok and it turns out for getting close to capacity and doing very well you don't have to correct all of them ok that is the interesting part ok so because most channels are statistic it's not like T plus 1 errors the worst possible thing will happen all the time ok so most of the time things will be ok when is there a T plus 1 errors most of the time it might help you ok so it might be in a way in which it's observability so then what you need is I have to say all the T plus 1 errors I can correct the sufficient fraction of all T plus 2 errors I can correct the sufficient fraction maybe even all the 2D errors ok so you should be able to correct larger error patterns but not all of them there's no way you can correct all of them but a sufficiently high percentage of them you can correct them then it turns out you can do very good performance guarantee you can get close to capacity you can do all these kind of fantastic things which modern codes are able to do and modern codes don't even have a guaranteed minimum distance ok so that's the interesting point of fact to this ok so you have a guaranteed minimum distance you can correct that to the accuracy capability but then what you can't correct anything so it turns out what's interesting in practice today is either modify the code construction or modify the decoder so that you can correct large fractions of errors beyond the error correcting capability ok so some of the projects that people might sign up for I don't know are about that for instance the chase decoding algorithm it's about that ok you correct beyond error correcting capability and there's also one more algorithm which is like that ok what can you do to go beyond the error correcting capability in this decoder that is still of interest today in practice ok and of course I mean we don't have the time to look at it but maybe one of the persons who is doing the project when they make a presentation you can remember this idea ok another idea which is very important is this motion of staff decoder like I said decoder is beyond error correcting capability we have open and interesting issue as of today it might change later on you know these things point of these things is things change and today some things are interest tomorrow something else is a interest ok so if you don't do these things properly then you will not be able to manage those changes also good to know that ok decoder is beyond ok like I said not to guarantee so you are correcting it because it's not possible can I correct a large fraction of errors beyond ok so it's that possible that's an interesting question which is the option the next idea is this motion of a staff decoder so this is because very very important today ok so far our decoder model was very very simple we said for every bit that we put into the channel how many bits do you get up in our channel model if you remember I had I write down C and then I say plus E and then I write down R so in this there is one implicit assumption what is that assumption for every bit that I put into the channel I get only one bit out ok so such models are called hard decision models decoders you built from them are called hard decision decoders ok today given our advancement and single processing and all that this bad situation is no longer true ok for every bit that you put in you can get definitely more than one bit let's say 8 bits of course ok so what do you mean by saying 8 bits ok so you have to know a little bit of bits of communication here in the next course I'll talk more about it but if you're doing this communication now or you've done it in the past you'll know what I mean ok so these bits are converted into some signal vectors signal vector has a vector space signal space no patient so you can write the signal vectors in some say two dimensional space or one dimensional space or something like that so they're coordinates ok so these coordinates one can think of them as having so the noise gets added to these coordinates if you're transmitting a vector coordinate noise gets added to these coordinates and you can have more than one bit accuracy in your so suppose you send so this code 0 or 1 gets mapped into plus 1 or minus 1 in some signal space notation some signal vector or it's minus 1 multiple ok so something like that ok so minus 1 and plus 1 is actually what's being transmitted so the noise will add as let's say a real number to this minus 1 and plus 1 ok so what you get at the receiver can be thought of as a signal which has a lot of data in it ok you don't have to quantize it to one bit you can quantize it to 8 bits ok minus 1 plus 1 ok noise gets added so you get the entire range let's say minus 10 to plus 10 you don't have to quantize minus 10 to plus 10 in just one bit say greater than 0's 0 to 10 less than 0's minus 10 to ok you don't have to do that you can do say 8 bit quantization of minus 10 to 10 so you get 8 bits of information so each bit you put into the channel can you decode and use those 8 bits if you can use those 8 bits you get what's called a soft decoder and the chase decoder is again another example of this so hopefully things repeat you have it for the chase decoder so when you do that you will see how they are using these 8 bits or more bits of information in fact loosely in theoretical models you will assume that the received value is real and then see how you use the real value in the decoder in implementation you have to either the floating point or fixed point but eventually you can work with it and as a model it's good so these two are still very much open and interesting problems in my opinion at least on bch codes so people will be interested in that so beyond this there are not too many interesting current open problems if you are just so this kind of brings us to the end of bch codes and we are going to move towards read Solomon codes that I will do in the next class and they are more interesting they are much more widespread than bch codes and we will make a comparison between bch and read Solomon codes you will see there are some interesting comparison points between bch codes and read Solomon codes so we will stop here


So we do a lot of unify installs. We love their Wi-Fi. We love their switches. We love the management dashboard It makes it very easy. We can self-host the controller. There's not a bunch of licensing fees to make it, you know, cost-inhibitive to Install these at scale for clients. So this is great and many times clients host your own controllers Internally because they don't want any data leaving and with the exception of the phone home Which you can sync whole which I did a video about yeah other than that. They've been really really good But that always brings me to the next question that comes up every time I talk about a project is Tom Why isn't this at the head end of your project? Why don't you have a USG? So you can complete the whole ecosystem and have a pretty dashboard with DPI and things in there And let's talk about that. So with the unify. I really like the unifies I love like I said all their other products, but their USGs once you need more than just routing to get to the internet They fall flat and I mean very flat the USG even though we are talking about this one right here This is the US you know the base USG but the pro and all the other ones have the same limitations is Let's say we want to add more than one IP address to one physical WAN port That is a pretty normal feature when you buy a block of IPs from an ISP Here's all the config you got to make sure we get the JSON file right which by the way is not officially supported by them and not supported through The UI at all you have to get to the command line and do this And I like how this right up, you know a couple of the comments right here even from five days ago This is November of 2019 any update on a roadmap timeline for multiple IP interface interfaces yet been watching Threads for four years waiting patiently no roadmap no timeline no comment And now someone's going to point out that some developer who was working in the PF sense project now works for you Viquity, I believe that happened to me almost two years ago. I clearly they're not adding if they're adding a feature I don't know when they're doing it If they're doing it that's one of the first problems you run into second advanced routing features such as Selective routing and things like that. Nope. What about VPN surely you have open VPN and all of the other Features in here because that's common open VPNs been around a long time. Nope That kind of falls flat too. They do have L2P for user VPNs which also over here Can cost them issues as well when you're doing if you use USG VPN client You'll find multiple users behind the same IP with L2P has a problem Because that's why that protocol is not as popular. But yeah, so there's another place that falls flat places It does do well routing does routing great. I don't think it's insecure. It it routes It does have under the hood But so to seek someone I've scared for me a serocot under hood for intrusion prevention But that limits its speed so you have to look at each model and whether or not It has enough capacity to handle not the routing speed But if you want those intrusion detection on there, it does have the DPI dashboard So you get some statistics. That's cool That is a great feature and the site-to-site VPN if you have two of these in the same controller one click site-to-site VPN Amazing great job hands off to the engineering behind that because it just works. I like that So but that's what reason we don't use is frequently run into clients that need those advanced features And like I said, it's just a problem when it comes to the the system. It just it falls flat on that So what about the edge router X that must be an awesome router? Actually it is. I am very much like these But the edge router has Kind of a limitation and it is the fact that you have to learn a command line if you want to do the powerful features No pretty dashboards in app But it you know, it doesn't tie into the unified ecosystem in terms of it doesn't tie into there Yes, it does have a UMS dashboard, which is not as full-featured as the unified one But yes, that's an option on there and if you're not familiar it is a fork So Viada, I think say say it is the system BIOS and edge OS were forked from so first You start with an open source product called. I believe it's open source card Viada Vios is fully open source is a command line driven Network operating system, which is very powerful but 100% command line driven There's no web UI or anything like there But it's very very powerful very very diverse and same with edge OS very powerful very diverse They kind of put a basic web UI on top of it and you know, here's a little history I can leave a link to for the fork and the history of it and you can do a lot with it So the edge router is not a bad choice. They like I said, they think they make a great product And are very affordable, but if you're looking for things to do all from the web interface Well, that's where this may fall short One of the things I'll actually bring up because someone has asked about this the other day Was I did a video on pf blocker and how it works with pf sense and dns ad blocking Blacklisting dns mass configuration in here. Once again, you're going to They have very specific Which ones it supports actually it's kind of interesting because you can do this because they do run essentially linux underneath dns mass blacklist test on an edge router er3 erx And yeah, you can set the system because you're you know ssh into these and get to the command line and start configuring these things and Update them and things like that. So if you're fine and you're comfortable with the command line And it's a good practice to learn network engineering If that's your day in and day out, but for some users they go, you know I just kind of want to be able to set something and have a web interface to make it a little easier not do a lot of time Custom configuring and writing scripts. So there's a good and bad with them. I don't dislike them as a product I think they're quite good, but for people wanting the one click easy setups Sorry, that's not for you Now the next one I have here is not something I know much about but people ask me about this all the time So i'm just going to give it an honorable mention is the sofos xg firewall and i'm talking about the home edition I know this is probably an older model. I don't even know if this is supported on here This is something we pulled out of a client this this box. It is heavy. Here's a prop Um, but one of the things I don't like is one sofos xg is not open source. Uh, if it is I couldn't find source Go to it Maybe parts. I know parts of it are but one of the things right away is Just to download it and use it as a home user You have to activate it and uh, you should receive an email shortly with your evaluation serial number and I Haven't gone through the process setting it up. I'm not likely to review the product One of those I don't have a use case for this. We don't really have any clients running it I've talked to people that says they enjoy sofos. They like sofos. I think sofos is great Um, it is a closed source proprietary firewall, but it does have some advanced features That's pretty cool. And I don't know of any known like major security problems with it, but I do lean towards open source firewalls And one of the reasons I bring that up is right here new discovery around juniper back door raises more questions about the company And these are one of those things that when you can't audit the source code and because it's becoming so much of a concern In the security world that we see all the source codes and businesses are realizing their reliance on code Is absolutely, you know, it drives their business. It's not like, oh, yeah, if the computers are down We can't, you know, we'll just muddle through it. We'll go back to a paper process If someone back doors your company and Start stealing intellectual property and other information right out. That is a huge concern So that's scaring companies more and more with these closed source firewalls. So take that for what it's worth But I figured it's worth bringing it up and one of the reasons I'm so bullish on open source firewalls Which brings me to the one on the bottom here See the best for last So yes, I'm aware someone forked an open sense and someone loves to ask that question every single time I've briefly looked at open sense. We had some problems with it could have been my lack of knowledge And I seen someone got mad at me Even though I always say it could be my lack of knowledge You couldn't make it do neither could the person using it who was had installed open sense numerous times Who then contacted us to help solve a vpn problem Who we couldn't get the routing to work in the way they wanted which was some very specific very advanced routing features We took that same piece of hardware and loaded pf sense on it and it works fine Now this is actually a neck gate pf sense box in front of me But that's where pf sense to me really excels. It's fully open source Which means we can audit all the code this makes companies very comfortable and for those you would say But it's not ready for the prime time commercial I did a video on this topic over to zippy quarters an easy way to do this Look for how them hiring for pf sense engineers when you see companies like mastercard hiring You're like, oh, they must be using it. So most large companies By policy specifically they will not disclose what things are using matter of fact This is an interesting facet of our business when we do have done work with large companies They do not want they even though they found us from youtube They say you may not use our company name or talk about projects You're done or even post that you use that you do things With us on our on your website. Can you be quiet about all that and I'm fine with this So I have worked with you know automotive suppliers and things like that They don't want their stack talked about but it's kind of funny because then they put things in zippy quarter Like they're hiring for an engineer for whatever support so you can figure out what hardware to using But yes, this has been used in many commercial environments One of the nice things about pf sense is you can go to the command line. It's fully open source It's modular so you can actually do a package update on an individual thing And I covered this when there was an engine x flaw That you could update engine x Individually on this not have to wait for the company to re-spin a new version of pf sense for you to download an update They also Expose more features so they put in open vpn And I mean like everything is exposed and if you find some weird advanced use case That's not all you have to do is they have a command line to pass further commands to It from the web interface. I think this is kind of cool This is at the bottom of a lot of the pf7 option boxes like an advanced configure You can just push extra parameters if you have something that they didn't expose But they expose so much to the web interface They kind of glue everything together in a really nice way between sericata and everything else and it's fully open source It does not require that you go and register some serial number Some license thing to phone home and activate your pf sense So if something were to happen or they change policies in pf sense the code itself is open And therefore if they were to try to close source it not that they have any intentions of this I'm just pointing out If any of these other companies if sofos for example because it requires a serial number to do some type of activation If they decide not to Honor that serial number then your firewall turns into a pumpkin at midnight This is my problem with a lot of commercial products is your reliance on them as a company and their policies to support this People asked me why I didn't support certain Companies that made wi-fi a number of years ago that I said, oh cool. They have a free dashboard You can't host that it's only their dashboard. They're going to charge for that people like no No, you should try this product. It's really cool And then the company got bought and they charged for their dashboard shocker and by the way It's not easy to get them off the dashboard The device was designed to do that So one of the reasons like I said, I'm really bullish on the open source and the pf sense specifically The company has been really tight with security They don't monkey with things so when they use open vpn It is the standard open vpn so you can use whatever open vpn client And I've actually had some you know talks with other people about pf sense and the engineers actually had net gate And it's kind of funny when they've had problems connecting and we did this We had a trouble with connecting to a 40 gate. So our client had a Open vpn the endpoint that you need to connect to another business had a 40 gate Turns out 40 gate wasn't implementing something properly and it took an update from 40 gate Who the engineers first just blamed us using some crappy open source product that was a direct quote From from the people on the not from 40 gate directly, but from the people on the other side And yeah, uh, in matter of fact, one of the things we've done Working with the health care providers here in the Detroit area They now have a document on how to set up a week because our clients are using IP sec vpns to I don't know what's on the other end. I'm less than clear They're very vague about it But it's not pf sense But now they support connecting pf sense to it They have a document because we showed them how to get pf sense connected Because pf sense once again fully using the open source standard for things or the documented standard for You know ip sec vpns open vpn how they're implementing things They're not trying to compile everything into one big monolithic They're using each one of these projects and kind of pull them together in pf sense I know someone's gonna call me a fanboy, but if you notice we're not even an official reseller for pf sense I have no affiliate links. I buy direct at the same price you pay I do that on purpose because their reseller program I didn't think was all that advantageous for me to join So those are kind of my thoughts on some of the firewalls This is you know, I guess the pf senses are go to because it's so diverse It can do super advanced crazy routing things that sometimes well people need You don't need licenses for things like even ha or any of that You can load pf blocker. You can load suricata You can create a really strong utm device, but I will admit it's missing the dashboard So that is kind of not there now the last little piece I'm going to give an honorable mention to because I did a video on this is untangle And also hats off to them because I didn't have to go digging for prices So untangle is free, but they do have a home edition. What's the difference? So untangle people want the home edition because they want granular web filtering that requires a certificate to install I'll leave a link to that video I did talking about that because more and more sites have moved towards moving To an encrypted site if you want to get granular not dns blocking but granular see what websites each individual computer is going to and create Per computer block list and do that advanced level filtering Dashboard untangle does have that built in there's the free edition of untangle Which you can just install but then they have the paid edition so you want that advanced filtering that is something Where it's just not creating pf sense between the dashboards being you know If you want that high dpi lots of information and pf sense does has the ability to export the data out But does not have Native built-in high dpi and then you have untangle which does have some nice dashboards I've done a full review of untangle and of course I've done specifically the filtering because this is a common request that people have Which by the way isn't supported on either one of the unifies or usgs But is supported by many advanced firewalls such as uh your commercial products by morocchi and 48 So Untangle for their home edition They do have have this for like 50 bucks and someone told me and like I said, I'm not I'm not planning on evaluating it But I believe the home edition of sofos has some gradient or filtering that you get with the home user edition As long as you agree to their home user licenses and things like that and you guys said untangle is free But those filtering features Do cost money so take that for what it's worth and decide what your use case is on there I'm personally like I said bias towards open source overall. I try to use open source whenever possible That's my preference and someone's going to say it's because I'm cheap It's actually no because I care about security and care about code Auditing the code and I have no problems paying money and have donated money to open source projects and open source developers Some of them are just asked for you know as the quote-unquote beer money and things like that I have no problems Donating to these projects and helping these developers out and I've even contacted and hired some of them for specialized projects When we needed code updated so I like the fact that I have my hands on the code that makes me very happy So that's my background and love for open source. Hopefully this helps a little bit or maybe confuse you more about decisions Oh, you know Don't ask me to review consumer routers. I don't use them. I so I know that d-link and link sesser Name companies they have a bunch of products out there. I'm not going to do a comparison to them I just not interested in them. I don't run them so my comparisons would be like It has these features. I'd be reading off the box. I don't really do those I like to talk about products we've used products we've used in the field that way I can give you a more subjective or more realistic answer to how it uses versus reading off the back of the box or Reading in some forms again some understanding That's why I mentioned so folks. I see a lot of people talking about them They seem to be happy about them But I can't give you any real subjective answers on it because never used it I have zero clients using it The only client that was using it is that box is over there We pulled it out and put pfSense into us all some really advanced routing things that they needed and They've been really happy since we put it in All right, and thanks and thank you for making it to the end of the video If you like this video, please give it a thumbs up If you'd like to see more content from the channel hit the subscribe button and hit the bell icon If you like youtube to notify you when new videos come out If you'd like to hire us head over to laurancesystems.com fill out our contact page And let us know what we can help you with and what projects you'd like us to work together on If you want to carry on the discussion head over to forums.laurancesystems.com Where we can carry on the discussion about this video other videos or other tech topics in general Even suggestions for new videos. They're accepted right there on our forums, which are free Also, if you like to help the channel out in other ways head over to our affiliate page We have a lot of great tech offers for you and once again, thanks for watching and see you next time