 Okay, so I will talk about error correction because the words coding theory might be a bit misleading But yeah, we'll see Yeah, so So let's say you are sitting here with your mobile phone and you want to send a nice picture to your friend in Amsterdam for example who is Uva is when we said free Amsterdam some whatever some computer in Amsterdam and This is how it looks like if you try to do it from Linux So just tracing the root of the packet just but here's just basically sim packet But maybe not everyone and send was going on there. So here is how it like happens in Geographical perspective so the packet from tar to first it goes from your phone It goes most probably to this white thing, which is access point From there then it goes to the university server Then I'm not sure exactly if the server is connected directly to Talin, but or maybe not but anyway Soon it end up in Talin Then your packet is sent to Hamburg most probably on the bed of the Baltic sea and then from Hamburg Somehow it goes to Frankfurt on mine and then finally it goes to Amsterdam And then also a couple of points in Amsterdam, but it's local already And of course you when you send the picture like I know like in what's up You don't want to wait ages and you want it to be sent very quickly But he also wanted to be sent without mistakes. So you want your friend receive on that side the same thing you've sent But the problem is that in every communication Media in the cable in the air here in whatever is Satellite communication whatever there is always something which is called noise like we are known we are used to know what noise is In real life like just when you sit in the pub with a friend and talk and there are a lot of people talking you the noise is just something which Which makes your conversation a bit more difficult But a bit more passionate because you need to speak louder But this the same exactly effect happens in the as I said in cables or like in fiber optics in basically Anything when you transmit any data information So for example, let who knows who's that Yes, it's our order heaven So what let's say for example you want to send this picture And let's say all that the total amount of errors from your phone here because as I said there are a lot of noise From here with all this route to Amsterdam. Let's say 15% 10 15% which is actually very mild Estimate so what you get after is something like this if you don't do anything you just send as it is So like let's say so here basically what I did I just took 15% of the pixels on the picture. Just make them white So this is what you not really fancy, right? I mean like maybe 50 years ago people would be really happy to get this in one second even less in Amsterdam But not not nowadays Yeah, so We'll not show the video because actually I managed to find Because another type of data transmission is Writing data and reading data and one of the examples is a compact disc a bit archaic now But I found the reader so we can have kind of live presentation So it was invented by the end of 80s usually mostly by Phillips and Sony Phillips in Netherlands and Sony in Japan Yeah, so Here every all the data is encoded with the error correction techniques, which you will talk which is the idea of this talk but first like demonstration so In theory if you damage if you scratch the disc it should still work fine So does it yeah, thank you So let's say like I feel like a magician So we take the disc and like let's let's scratch it's like Do you see it's scratched I hope it will play after so in theory it should play again after this Of course if windows allows it to play If you can hear So please fine It's actually not original dungeon. Uh, yeah, so I hope you were a bit impressed by this presentation like live Yeah, so you've seen I scratch it quite severely So the point is that how does it happen how? So the idea is actually behind this the same so in the first In the first case you Kind of send your data, but here you also kind of send it But you send it like you send it to disk and then you read to disk So you send it to yourself in some sense you send it in time Yeah, but technique is the same error correction codes So the idea is that by scratches or by noise, uh, which is basically the same idea from theoretical point of view You introduce errors and error correction is just try toe To make no errors influencing what you get But let's get a bit to theory part and how this magic happens So let's say like take some toy example toy channel. Let's say we work with Channel with erasures. So basically when you send the message from here to there some abstract channel from point a to b The only type of errors which can happen is uh erasures. So like for example, you send hello world and some characters being erased But since you're a human being and you know english you can't still you still can guess what was the message, right? Because like Because you can guess it most probably I hope Yeah, but why is that so because actually we know that this is a natural human language and natural languages are very redundant So there are much more information there Then you actually need to send this to For the message itself So like like for example, no hello is written with double l if you write it in one l you still understand what's written there So there are a lot of errors you can tolerate as a human being But as a computer what usually you send is just zeros and ones and it's not the natural language So you have like channel So let's assume we are we're a computer. So we don't know english. So we don't understand what's there So we had already erasures. So what would you do if you again our example with real noise in the pub? So if you talk to a person and person didn't really get what he said what you do Yeah, you just repeat. Yeah, so actually this is the very basic and the simplest idea how you Do erasures but in this case like in the theory you don't want to send data back here like so That the person from Amsterdam in our example sends you the back message. Oh, please repeat You what you do you send the message? You repeat message twice already. So you send it from the very beginning message twice or three times or whatever So there are still errors can happen But with highly likely this error will happen in the different positions So when you put like compared two parts of the message and you know, they were originally the same You compare the content letters like h the first letter here is h We know this e l and l it's fine without any error correction l here. It's all here's w So basically comparing the first and second part, you know for sure. What is the message? There is a still slight chance that for example h the first h will be raised in both Citations in the like in the first part in the second part, but the probability of this becomes like for example if the probability to raise h is 10 percent Then probability to raise h in both parts only 1 percent ready. So it like basically squared probability or if the probability was 1 percent then it becomes 1 over 10,000 Yeah, so you compare these two messages and what you got the original message. So this is very like So example, but basically it shows the main idea of all the error correction, which happens So the idea is just you add some additional information which you don't really need Which is just redundant information, but because of that because you have redundant information When you are in Amsterdam, you don't need to send message again You just compare like you apply some algorithms and you because you send more than needed you can tolerate the errors Is it clear to some extent Yeah, so what is the modern challenge because actually this idea is this this was called repetition code It's very bad code actually because you need to send like messages twice longer than it's needed. So For example, if you there is a theorem Yeah, because it's theory. There is a theorem which proven if you have for example 30 percent of erasures in your channel Then you need to add only 30 percent longer messages So like for example, if instead of sending 100 bits you send 130 bits And there is a code. There is a theory which you can tolerate all the errors Uh Yeah, so what is the modern challenge who knows what this this on the picture? Yeah, it's fiber optics on the sea but on the ocean's bed like actually I really like this one You know, it's norway and this is swalbert So I don't know how many like couple of thousand people living there Like it's very cold there and there is a huge line just going out just to them Under the sea. I know like I think it's couple of thousand kilometers. Yeah, but uh Yeah, the idea is that If you and actually here if you like the small Green line is the cable which would get your message sent to omster dump Sorry under the Baltic sea Yeah, but the point is that most of the data now is sent via the fiber optics under the ocean on the ocean bed And the point is the very good about fiber optics. It's very fast. It's very good like for example, like if you google a bit just some random number like Current speed of fiber optics one petabit per second. We just send to the five 15 bits per second Uh, so like I mean like these numbers are so astronomic. Hi, you didn't really grasp. What is this? So let's say 10 to the 15 bits is a great game of thrones all episodes and in one second and in blu-ray 1080p quality And send 300 times So this is 10 to the 15 15 bits and fiber optics can send it to one second So you can now you can kind of better grasp the how big is that? Yeah, so the problem is that you need to As you said like for example, even if you apply a very easy decoding algorithm, which was example of repetition code So for example, you say and not game of thrones 300 times, but 150 times and then you repeat Then just to compare this amount of data. We need a lot of time. So for example, let's say So this is one kilo bit, which is 1024 bits, you know bits zero some ones Uh So how fast we should to the the computer on the receiving side should be able to decode this So let's say it decodes one kilo bit this amount of data in zero point zero zero zero zero one second So one over a million seconds Then uh to decode the suffix will take 12 days And the data comes in one second. So next second you will have three hand more see early not seasons copies of all game of thrones episodes So the the modern challenge is You need to do something to decode extremely fast And for that there is actually very sophisticated algorithms. So for example, one of the Simplest and use one is called load partial codes So the idea is that you have bits, but you not just repeat as we said in our petition code example So you put the bits like in this manner And then you have this structure called tonograph and the idea is that the sum of Incoming edges should be always even so for example for this it should we have two Fine for this we have one zero and this is erasure, but we know that the sum of them should be even So this one plus zero gives one plus something here, which is either zero one So to make it even epsilon should be Yes, we should be one Someone is still following me And the same is for here so In fact the algorithms are very highly mathematical. There were a lot of proofs and a lot of research But I hope you got the at least the main idea So lessons learned from today. You cannot avoid noise in the whatever day they said If you like if you lost me somewhere in the beginning like just get back on the ship and just read what's written here So you cannot avoid avoid noise It just you know physics real world But you can repeat and it's just the basic idea of how we do so you repeat the message And now you should be really fast and that's it. Thank you very much Nice presentation and actually we have three questions now to you the first is what What this picture was from like which movie it is from like this lady I just googled Audrey Hepburn and you know was the first one I know maybe breakfast Tiffany's most probably If you don't know the movie with Audrey Hepburn say Tiffany Second question. What will happen if you scratch the cd from two sides on two sides? Let's try Oh So I squished from two sides Let's see if anything happens Yes your place, I think you need to scratch it quite a lot. Okay, so this stops playing And now the last one and I lost it Yeah, what is fiber optics made of? It's some plastic Plastic nice sensor. Thank you And we have one more question actually On which level tcp is stagnant with your recording apples. It's usually physical there Cool some more questions I Can hear they are made of quartz and silicon Yeah, fiber optics is made of quartz and silicon. Nice. No Cool