All right, so now, okay, we know how to compute, how long it takes to compute one line, a bunch of lines and specific sets of line and nested in the middle of all the others. There is one more important thing that we are building up to, which is the actual profiling. Okay, profiling is a very generic term to just say we want to see what resource each part of the code take in order to decide when and where we want to intervene to do some optimization or just in order to know. And of course, you can do that sort of manually as we are doing here. That's a form of profiling, but there are handy built-in tools that lets you do this sort of stuff sort of directly or at least helps you. So here's a little bit of code that we are going to profile together. So first I have a function that is called readFASTA that reads a FASTA file and returns it as a dictionary. Then I have a function that computes the GC% of a sequence. Then I have computeGCdict that wraps computeGCfunction, okay, and return then the GC% of as a dictionary. And then I have a function that computes the sequence similarity. So it takes two sequences and computes their similarity. So basically for each position in the sequences, so presuming that they are both the same size, if that position I, they are the same, then we add one to the similarity score. And at the end we divide by the size of it. And then we have our, let's say main function, main script, okay, which first read the FASTA file and compute the GC% and sort the GC% okay, so sort the sequence by GC% then compute a pairwise distance matrix and then write this matrix to the file, okay? So here that's, let's say classical bioinformatics stuff, but you can also think of it as a classical pipeline of data that exists, we read some data, we perform a few operations on it, we compute some metrics and so on and so forth and then rewrite some results, okay? So that's quite generic in a sense. So I do that and then maybe you can come on and say, okay, but I think I have a, you know, I have a new function that I think will compute the GC% faster than what we have above. So what we have here uses there a native for loop and then this one uses the built-in function of string in Python. And you could say, I think that they will be faster. So you execute that and you show and demonstrate that indeed you have a very, very, very good speedup. So definitely using this function is much, much, much better. See, we go from 1.32 millisecond to 36 microsecond. So commendable speedup, but now you could say, all right, you got something very nice, but okay, this one is super simple, but you could say, okay, maybe, but it took you like three days to create this super nice function. And was it worth it? Because yes, it goes faster, but was optimizing the compute GC person better really what you should have started with, okay? It's not because you have good ideas for a function that it's necessarily the one that you should focus on first and profiling is there to help you with these sort of choices. So again, you can either you execute it from the common line and it would look like this. So this is the script you want to, sorry, this is the script you want to profile. And then you specify here that you want to use the C profile module, which will do the profiling for you. And you want an output there in profile.log. And then here dash s come time will sort this by the metric that is called come time, which is the commentative time spent in a single function because the C profile will execute your code and will time each function that is called in there with the number of time it was called and how long we spent in there or in code specific to it or in sub functions. All right, if you have then a log that is given to you as like a long text file, you can read through that and most of the time that's what we do.  But you'll see that most of the time just when you know your code and when you don't have too many functions, see here we don't have a ton, we have five also. Just the text profile suffices. So you can use the comment line or you can also use Jupyter magic. So here P run, then dash L so that I only report 30 line. I don't want to have the full report with everything. And then I sort by cumulative time and then I call the main script function there on the medium file, okay, and I will output to test that out. So let's now execute that one. So execute that one too. And then your first exercise will be to look at this profile and try to determine where do you think your optimization effort should go first, all right. And yeah, and also ask yourself what would be the effect of using our better disimplementation that is much, much faster there. How much we would gain from that. So I will ask you to do that on your own. Don't hesitate to ask question if there are stuff that are unclear. When you think that you have a good answer for both questions, please put a little green tick reaction. So I know that you are done there in the chat. And after I think let's give it three to five minutes, we will see what everyone answered and then do a little correction together, okay. All right, so I'll let you work. So execute this line of course to get started so that you get then the report that should appear soon enough. Okay, so from tests, we should optimize the double loop in the main and compute sequence similarity module and compute GC, yeah, all right, compute sequence. All right, thank you, great. So that's indeed I think personally also the best answer. Let's go through what we have there. So I will copy the report here so that it's a bit nicer. We can comment it a little bit. So we see that it took in total something like 70 seconds to run. Okay, one thing we can check while we look at it is also this, sometimes it pays to just do that. And we have then so the total time is total time that it spent but excluding the time spent in sub-function. So that's nice, you know how long it took just to do the operation in that function. And then come time is cumulative time spent in this and all some functions, all right. And we have sorted by cumulative time which is usually what I do. So we start with the bigger level stuff. So we have the whole module which is the whole set in our case then the main script. And you see that the main script takes of course all of the time because this is the call but the total time spent in it is 0.5 seconds. So we only spend 0.5 seconds in it, in itself, right. In this main script itself and we spend almost all of our time, 17 point something seconds in sub-function. And then the sub-function that pops up the first is this compute sequence similarity function which we spent here in cumulative time, 70 second in it.  Okay, actually it's called the square of the number of sequence in there. So 500 squares, yeah, checks out, 500 squared gives us this. So per call it doesn't take a lot of time but accumulated it takes a large amount of time, okay. And then we have our compute GC percent and compute GC percent dictionary. So computing all of the GC percent here takes cumulatively 0.042 and in particular the operation itself 0.041 second itself. So then that was also the second question like if we optimize this, if we multiply that for instance we speed up this operation by 100 then well we have gain maybe 0.04 second in 17 second execution. So that's basically we wouldn't even see that, okay. That's within the marginal variation, all right. But if we do even like we just divide by two the time it takes to go through the compute sequence similarity then we cut by 50% the time of execution of this little code, all right. Is that clear to everyone this interpretation and are there much thing, all the things that you remark or that you would like me to elaborate on this? So far so good then. Using P run and C profile is really like a tool of choice in order to try and understand where you should start optimizing first and so on and so forth, okay. It's really super, super useful, right. Especially when you don't have too much ideas and when you have better ideas then you can start deciding that you will optimize this process or that process and start using the other method that we've seen like such as the times or the time it and so on and so forth when you already know what you want to do but your first approach should always be to run this through and sometimes also you can run it with different problem size because for example maybe compute sequence similarity I will not say stuff that are real but maybe compute sequence similarity has a linear complexity. So it will become, its complexity will become its time of execution will increase linearly with the number of sequence and it might be that because of weird implementation compute GC might have an exponential complexity. So if you test with the medium file dot fast you might see this where compute GC doesn't take much time and this takes most of the time but then if you tested on much bigger data you might see the converse in terms of ratio where the compute sequence similarity might not take most of the time and most of the time might be spent in compute GC. So again, sometimes it would pay to try it with two or three problem size to see what is the effect of this on the different functions, right. And of course, most of the time we have let's say small ideas about this sort of stuff. For instance, looking at the code of the compute sequence similarity there is here a single for loop. So it evolve linearly with the number of sequence at least we can think so. And the compute GC percent you see here it evolve linearly with the also with the number of sequence because we do it once per sequence. So they should have indeed the same complexity but as I said, as code grows more complex sometimes it pays to check and to take this sort of stuff into account because again, you might have surprise if you always test stuff with a very small data set when you get it go to a bigger data set it might not behave exactly as you expected. Okay, now I want to pick your brain a little please think a little bit about look a little bit about this function here not the compute sequence similarity but the whole let's say step four which is the compute sequence similarity for a whole set of matrix and try to think of a way that we could maybe fairly easily make that faster. Without even going to an umpire or something like this just a way to think about the way that we do this operation that would make the whole script run faster. Think a bit and write on the chat when you think you have an idea. Okay, so Eliza wrote a good answer for us. So you see that and let's say this is one okay, and then you're also proposed something. So here, Eliza, you propose that you remarked that here the sequence similarity will be the same irrespective of sec A or sec B like whether or not they are switched will give the same similarity. So the measure is symmetrical that means that the output matrix is symmetrical but we compute all pairs of I and J. That means that we will, for instance, we will compute, I don't know, the similarity for one and 10 and then also the similarity between sequence 10 and one. So we will do, in effect, we will compute each similarity twice. All right, so this is something that maybe could be avoided if we were a bit smart and we would reduce that and in effect that would just cut by two the number of operation that we would do, right? Because rather than computing 100 times 100 differences, we would compute 100 times 100 divided by two, right? So that's a easy, let's say, way to just get the same result but in a fraction of the time just by thinking about what operation we do and what is redundant. Jörg, you also propose that we save this sec S1 in a temporary variable to reduce the access time. So it's something that might be useful in another language. With Python, the access time of dictionaries is extra fast and it's, it does, sorry, it is not dependent on the size of the dictionary, okay? So even if you have a super large dictionary, accessing an element in that dictionary always take constant time, which is super fast. So in that particular case, I don't think it would be that useful if you even see an increase in performance which I'm really not sure you will. On other languages, for instance, if you play with R or C++, then the access time of dictionary is, I think it's dependent on the log of the size of the dictionary. So there, that would be indeed an issue and your proposed solution would indeed, I think, have an effect. Although I want also to point out that when we look at our profile, most of the time spent on the sequence here is spent on the function itself, okay? And not on the for loops around the function. So optimizing these access there around it would have minimal effect. But then again, that's for Python. Maybe in C++ we would spend more time with this access there before we enter the function. So it might have more effect. Okay, so then, for instance, if I just take the proposition from Elisa and I just, well, we could, for instance, just create a new cell. And now we could just write, we duplicate our main script. I call it now main script too, maybe. And then we would say something like, if J under I, then we just ignore. And now we just need a little additional call which say that sim, so the similarity matrix fills itself in a symmetrical manner, okay? So I will ignore one in two cases where J is under I. And then I will fill the cases here, J, I from IJ, which I just filled there. And I think that is all that is needed there. So see three lines added to code. And if we go there, see then we spent nine second. And there, if I call main script too, it should takes hopefully like maybe five second or so to run through. See about half the time there. So, right. So what I wanted to say there, again, we won't spend too much time on the algorithmic aspect of stuff. We will see programation trick to make the same code run faster, but it does pay to think also about this sort of complexity about the redundancy of the operation and so on so forth because with very, very little cost, you can gain already something, okay? So you already trim the fat and then you optimize what you have after that. One last thing maybe is maybe you see here that to execute this, it took me nine second but then here this call to PRUN actually took 17 second. So the measurement of the time, the profiling has an overhead, all right? It takes some time to monitor the stuff. And that's sort of unavoidable. Different module have different overhead time, but that's also always something that you have to keep a little bit in mind. And there are some modules which have huge overhead, some which are very small overhead, but also take all of these numbers as relative to one another, all right? And not as the absolute actual value that it will take to run the whole thing without the monitoring record. All right, so now we are back from the break and so we just saw a little bit how to monitor the time that it took to execute a bunch of lines of code. And also we have finished with the profiling, so time profiling there, of all the functions that happened in our code. As I said, something that we really have to do all the time before we start optimizing because sometimes the function that takes the most time are not the one that we think and you don't want to spend three days optimizing a function that only takes 2% of your execution time. Okay, but this time is not the only thing that we should care for. So here for instance, I show to you what happens if I try to do the same thing, but on the large file dot fast, all right? Of course it's larger, so it will take more time, but there what we will see is not a problem of time, but a problem of RAM, if it wants to reach to that point where we have the problem, it would be nice. Let's see, let's wait. Sorry for that, and then it takes a bit longer than others. But you see that here, it's always, let's say possible to, ah, there we go. It's always possible to wait longer, all right? Okay, not so, so long, like you cannot wait five years or 10 years for your result, but sometimes we are like, okay, we have one code and then we take maybe one minute or maybe two hours up to a point.  You just have to wait a little, but sometimes you have the problem that to do what you would like to do, you would need more RAM. So for example, here what it says is that when we try to create the matrix or differences between our, between all our sequences because there is one million sequence, it tries to create a one million by one billion, one million by one million matrix. It tells to us, well, it's not possible. I would need 7.1 terabyte of RAM and you don't have that on your computer. I mean, I guess at most of our laptops and small computers nowadays we have between 16 and 32, maybe 64 gigabytes of RAM, okay, minus 32. It's not too bad, but we are very, very far from the seven terabyte. And of course you might have access to a computing cluster which might have a machine that have maybe one or two terabyte of RAM, maybe four, but more than that is still fairly rare. It's a fairly costly resource to access such big computers, all right? So that's when also it can be interesting to try and optimize and try and monitor not only the time that it takes to execute something, but also the RAM that you will need because the RAM is much more like a hard resource in a sense that you can always wait one more hours, one more hour, but if you don't have enough RAM, the only solution is to find a bigger computer there, all right? Or to rethink the structure of your code in order to reduce your RAM requirement. Right, so that's what I wanted to illustrate there and that lets us jump to the second part there about measuring the RAM.


Hello everybody and welcome back to the channel. I am back for our daily uploads. Today we are on torque drift with that good field game with a new update. If you can't tell by the new content on the bottom as well as probably because you've been playing this before this, you know, I'm bringing you guys this video. We do have the JZX 100 episode West. We can now sell cars and stuff like that. So today we are going to build that JZX and have a little fun with the torque drift has hooked me up with some money. So we're going to go buy some parts, get some stuff going on this car and see what we can do. We'll take a look at the parts shop first.  Then we have aftermarket suspension, turbo exhaust. We wish we could get a better angle kit, but so we do have two sponsorship crates that we did unlock. So we are going to open these two sponsorship crates for the JZX and start this JZX build. See what we get. What can we get with this? We got a bunch more money to spend. We got 300,000 plus a lot of torque bucks in there. So final crate opening. We just got tires. So unfortunately nothing good came out of that. So we're going to start actually just buying parts for this car. We have to buy that. Of course we can put the import angle kit on because of the fact of we have our sponsorship still in there. So I'm going to buy all of these. We're not worried about that. We are going to buy a clutch. We're going to buy an intake. We're going to buy a Mishimoto. So we are going to buy this diff and these import suspension. I don't think we have anything higher suspension wise. No, we don't. So we are going to instant buy that diff, instant buy that suspension and then we are going to go with the EEM intake, instant buy that. I don't think we're going to go to the pro intake yet. We're going to get the instant thing. We could go with the pro intake.  So now, let's see what parts do we need to install. We do have that. We're going to have to add the clutch because we don't have an aftermarket clutch and intake, which one gives us more power, 335 or the one that I bought, 338. There we go. Install that. So all the other parts we're not worried about because, oh engine's higher already. Oh boy. Because of the fact that we have higher up parts on there now. So we'll leave the tuning of the clutch, ECM. We're going to leave that all right now. We're going to see how it rides like this. All right, exhaust, we're good. So now we're going to go. Oh, we didn't buy any wheels. What are we doing? We just didn't look if there's body kits. So there's a body kits for the, no, no body kits. All right. So we're going to go look into getting some wheels, which we have to buy some of those wheels to bump ourselves up. I like those golds. Like those. We don't want to go into any of these pro level debating between these ones or these ones. I think we're going to go with the five spokes. We're going to put those on. We're going to instant buy those. So let's go right on the car. I don't think we're going to do any accessory and eons or anything like that right now. So let's go back and tune this and get our suspension and everything set up. We are going to go with the aftermarket angle kits. And we're going to go there. We'll probably do six and a half degrees of camber in the front of the can, which we will. And then we got to bury this car. The goal is to get this thing low. So we are going to drop that as far as we can. We're going to leave it at a 13. And then we're going to go and do the back. We're also going to put the angle kit on there. And then we have to lower this even more. It's a little bit softer. I'm not sure if I want to go up in profile of tires or anything yet. So I think this is how we're going to let it sit for right now. And we're going to go full send with this, how it sits and see what we can get into. So a couple other changes that they made. Some people may not even have noticed. Other than we can do live tuning stuff. Okay, I don't want to worry about these parts. Make sure those didn't get installed. No, we're good. All right. So they did actually change the livery on Kelsey Rowland's car to renew Voodoo Ride's paint that she's rocking this year. So it's pretty sweet that they updated the livery for Kelsey Rowland's car. Maybe we'll have the ability soon to switch between pro car liveries, depending on which one people want to run. And then they did change our menu platform. It looks like we only have the yard jump and Ebizu School to run for today. So we're going to go to Ebizu and we're going to do the needle in our JZX and see how it runs. We are overpowering our engine, which probably could have bought a new engine, but I wanted to put as much power as we could into the factory engine, which is like 407 horsepower right now. So we may have to bump the engine up to a new engine, but this big girl is going to get sideways, hopefully. So let's see what we do. We'll just start in the second. A little tire spin shift in the third. Kick it in third. This thing is a massive, massive car, but it's definitely still getting sideways. I do love these big body drift cars. So you know, this car is going to get a full build like all my other cars on it. And it's just a slow, big drift, drifting about here on tour drift. And it's a lot of fun. I got to remember how wide the back bumper is. There we go. And as I say that, I tanked the wall at the end of that run. So if you guys are playing with the JZX, let me know what you guys think about it. You guys have fun with it. I know I'm going to be having a lot of fun going in this car and he decided to just... So I guess we'll take that win. And I'm very surprised that we did. So we're going to try and give this another go. So I've been seeing a lot of people using the JZX, a lot of people having fun with it. So it's definitely a cool car to be in here now. Oh, we got another JZX, 470 versus 404. All right, battle of the big boys. Let's go. So like I said, make sure you guys follow me on Instagram and Twitter. I hope you guys had a good week. I know I was laxing on the uploads, but that's with everything going on and stuff like that, but we are back here for the daily uploads and that stuff and we'll be able to do that. Back here on the daily uploads, TorchGrip, Horizon, Lego Update, 4th MotorSport 7, all the good stuff is coming to you guys. So we set up Corso content as well.  So make sure you tap that subscribe button. Oh, that was a nice wall ride. Tap that subscribe, hit that bell notification. I would appreciate it. Support notification gangs is strong now recently. And we're going to have our work cut out for us. If we didn't screw up our initiation, we probably would have been better off. So, let's see, we're not going to sing music either, so it's going to be an uphill battle to try and take the win, but we're just going to go drift, missing status, banging doors, throwing tandems with the JZX right now. Right now, this thing slides so nice with the big weight and definitely having a lot of fun with this car is going to get the full VIP upgrade treatment for sure. I don't think we did enough on the chase to take that win, but we shall see. We did, we did not do enough to take that win. That was a very even battle. So I think take a little quick screen shot right there. Screen shot that. And then we're going to continue back and he doesn't want to go against me again. So we're going to try and find another competitor. Definitely having a lot of fun with this. Glad to be back here on the daily grind with uploads for you guys. And we got another JZX. Always rocking these JZX's right now. Looking like a stock JZX battles for today. So, going to definitely try and get our initiation better. That is not what I want to do. We'll jump all the way over. We're going to get our initiation points there. We did it sooner and not cut the grass there. So I used to my higher power car and getting back to little low power cars here in Japan. But a lot of these cars, the biggest car to drift over there. They don't run much power. So we're kind of keeping true to the culture. It looks like we are going to have a very big battle to be had in that chase. And as you can see, we can now paint front and rear wheels, different colors. Even if you have the same wheels now, that was another thing they added in. I feel like I should have just blacked up and created our first run. This car is going to continue to get built. Some more built episodes on this car. Updates and everything. Because this car is going to build full, full like FG spec, full probably pro or custom level car. Because big girl, big body, let's go. And I don't, like I said, I don't think we got enough to win that. So we're going to try and redo that. He's going to give us a second chance. And we might take this to Cali Banks just to see how this thing handles the banks. The third, the eighth sooner, doesn't get initiation points. So I got to figure out how to initiate here because those are definitely killing me when you don't get that extra clean initiation points. Or you don't get those because you're running so slow on the track. It's not good. If that was not a good run. So I think we are probably going to head over to Cali Banks. See how this thing runs the bank. See if it's able to actually do the bank. Yep, that demand, that man got me. So we are going to forfeit that round and go check out Cali Banks before we end this episode off. Because, well, I want to see how it handles the banks because all cars are tested on the banks for me. And there it is, Cali Banks. And we will run the other Ebizu track to end this episode off because, well, it's the new track, so we are going to run it. Second, I feel like this car is going to definitely have some interesting running on the bank. Shade in. I gave the bumper a knot. How I wanted to drag that. But we're okay. Looking at the power, locking the handbrake up. There we go. Right on the wall, seems to be handling quite well here on the bank with the power that it's running.  So not the best run, but pretty good run for low power. So now let's go run the new Ebizu track and have a little fun with that because I've been tweaking around on that track in my other cars and it's a lot of fun. So we're going to go to where are you, Ebizu West. And we're just going to do the full track and we're going to just skirt around for a little bit to end this episode off. We're going to do Ebizu West unfree and the JZX handbrake on. So this is definitely a fun track and there's a lot of JZX's on this track. So it was kind of cool how they brought the JZX out in this track from Formula Drift, Japan. And it's also a track that's very big in the basically YouTube drift scene with people running drift trains and stuff, especially in the JZX's. And that amount of traffic. So this track, a lot of fun.  Get back on. Oh, it's going to reset me. See, I'm totally off track, but like I said, we got to do some more fine tuning to this car. It is a lot of fun, but it's definitely some more super bouncy right now. So we're going to have to do some tweaking and suspension and stuff like that. You can get some more parts on this car and probably upgrade the engine. Not sure which engine I want to run.  So your JZX 100, like what is your favorite power that we have? Your favorite power to have in the car right now? What do you have? And are you going to be building a full-on drift or missle drift king car with it and trying to take the big bodies to some wins and tournaments and stuff like that because that will be definitely a fun time. So as always, I think you guys should come back and watching, I'm EvilRabbit and I will see you guys on the track and on the next one, some very long handbrake grab. Oh, we're good, we're good. So definitely some cool open-world drifting to do. We can come down the chute, freestyle it. So once again, I'm EvilRabbit and I'm out.


Hello, welcome to another module on wireless communications in this massive open online course. And so, in the last module, we looked at some of the basic aspects or the introductory aspects of wireless communication system. Basically, an introduction to the terminology of various standards and also some of the aspects, salient aspects of the physics of a wireless communication system. What we are going to do now is start looking at progressively the evolution of wireless communication system through the various generations. And one of the key aspects of a wireless communication system as you can see is there are several users or several devices that are trying to simultaneously access the wireless medium. As you know, the wireless medium is the radio propagation medium, which is common for all the users to access the base station. And naturally, when these different users are trying to access the base station or trying to connect to the base station from your handset or whatever your wireless devices simultaneously, you need some protocol or you need some sort of discipline by which these different users can access the base station. Because if all the users transmit simultaneously, then their signals are going to end up interfering at the base station. So, the channel is the air medium or the radio propagation medium and these multiple users would like to simultaneously transmit over the medium. And for instance, different cell phone users are trying to transmit simultaneously to a base station or different laptops are trying to simultaneously access a wireless access point, right. And therefore, how do you decide who gets priority or who accesses this channel at a certain given point. And the answer through which you can enable these multiple people or these multiple devices to use these common medium is known as a multiple access technology. The name itself means that these different users can access the medium with following some rules or some protocols and that is determined by that particular multiple access technology. For instance, one of the earliest multiple access technologies and also one of the simplest is what is known as FDMA or frequency division for multiple access in which each user is allocated a different frequency band. So, user one is allocated and picture you can see user one is allocated a certain portion of the frequencies, user two is allocated a certain set of frequencies and so on. And all these users then use their appropriate frequency band for transmission, thus not interfering with each other and this forms the first generation or this is known as 1G mobile technology which was there in the early 80s. Some of you might remember seeing this bulky cell phones that are shown in this picture which correspond to the which basically belong to the first generation wireless technology. And GSM and the dominant standards, other dominant standards of it are belong to what is known as TDMA or the second generation of wireless communication technologies which are based on TDMA or time division for multiple access in which there are no different frequencies or the users are on the same frequency band, but they have different time slots that is each user is allocated a different portion of the time during which you can transmit thus all the other users are silent during this particular time slot. And therefore, this avoids interference between these different users for instance as I already said GSM is an example of a TDMA technology. And I just want to give you a brief introduction to GSM the rest of this module will talk about various aspects of GSM. GSM is one of the most dominant mobile communication standards. It stands for the global system for mobile communication and it is an Etsy or a European telecommunication standards institute approved initiative. The original intention of it was to develop a second generation wireless communication system for Europe basically to unite all the fragmented or the various fragmented standards across different countries. This standard or the group to monitor this standard was initially formed in 1982 by allocating the bands, certain bands in a certain frequency range. And the main idea as I already point out was develop a second generation a unified standard that can be followed across countries that will help develop devices that can uniform follow uniform set of rules or uniform set of protocols to communicate over the wireless channel. And in fact GSM was meant beyond was a much more advanced standard in set in the sense that it was not meant not only for voice calls that is to enable the conventional telephone calls between person to person, but also a well a variety of services such as basic news services, message services etcetera over the telephone network. So, GSM in that sense is was envisaged as a very robust digital cellular standard and this is a brief history of the timeline of GSM the standard the group was formed in 1982. The task force was formed in about 1986 and various developments to place through the 1980s and it was complete the specification was completed in 1991. The initial deployments were in the early 90s that is 1992, 93 and by 2001 it was overwhelmingly popular and with deployment in close to about 150 countries across the group. And the GSM is as I already pointed out is not just meant for voice, but also meant for an integrated voice data service that is provide a number of services that go beyond a simple voice calling from telephone to telephone. And to give you a basic introduction to the organization of the GSM reference architecture it is divided into three major components. One is what most of you are familiar with which is the mobile phone or the mobile station which the user acquires. The other is the base station through which the user connects to communicate with the rest of the network. And then there is the heart of the network which is basically known as the network and switching subsystems. And let us look briefly at the features or the principles working principles of each of these components. As I have already pointed out we have the mobile station, the base station subsystem and the network and switching subsystem. The mobile station is basically your mobile phone that consists of two components. It is one is your mobile device which basically receives the signal, demodulates the signal, converts the physical signals into the voice signals takes the bits and converts them into a voice signal that you hear over the phone. And this mobile equipment is purchased from an equipment vendor typically includes the speaker microphone or also the radio modem which is key to receiving the radio signals and converting them and doing the processing that is required on these radio signals. Other important aspect of the mobile phone as most of you already know is what is known as the SIM or also it is an acronym for the subscriber identity module. And this is a smart card which is issued at the time of subscription to a service by a particular operator and this serves as your identity the SIM serves as the identity in the network right. And the calls in GSM are directed to a SIM and for instance your short message service feature all the short messages are stored etcetera are stored on the SIM. And the SIM has a significant impact for instance it determines how much your charge for your calls, the roaming aspects of your phone and also stores your personal information in your subscription information and also a number of useful applications. And the SIM is identified with what is known as an MC that is an international mobile subscriber identity this is your identity on the network. So, the SIM is identified by this MC number which is basically your identity or carries your subscription information on this network. And the other component in mobile network is of course the base station through which is at the other end of the wireless channel that is the device connects to the base station. So, the base station receives the signals from the mobile station and transmits the signals and on the other end the base station connects with other base stations and also it connects with the wired infrastructure such as the telephone network and so on and separate and as various features the main feature is to basically receive the signals from the mobile station and transmitted through other base stations or transmitted to the other parts of the network. So, these basically comprises the first component of the tethered or the static component of the mobile wireless network which is responsible for receiving the signals and transmitting it converting it and a property transmitting it to other parts of the network. It consists of two components one is the BTS the base station the actual base station and also a base station controller which either controls a single base station or a group of base stations. The main use of a base station controller it is manages the various resources amongst the various base stations such as the different frequencies that are allocated to these different base stations or for instance the handover the way that call is handed over from one base station to the other base station and so on and the heart of the mobile network is the network and the switching subsystem which responsible for a variety of operations and it is responsible for communication with other networks other operators it is responsible for registering validating authenticating a particular user registering the whereabouts of a particular user registering if a user is roaming in another cell etc. and basically connecting to other networks such as the internet or the landline network and so on okay and it has various components the mobile station controller which controls the MSC which controls all the different modules in this network switching subsystem. This is a home location register which is a software database that basically stores information that is related to the subscriber account stores the subscribers address the type of service the current location the forwarding address if the user is not in his home cell but it's in a different cell or he's roaming in a different cell where it stores information about the cell he's roaming in etc so that calls can be appropriately forwarded to the appropriate cell. There is a visitor location register which shows if the information of the subscriber or the user if he's not in his home cell but it's roaming in a different cell so that the calls can be appropriately routed to the user in the cell he's visiting in or when he's away from his home cell and then there is also an authentication center which holds all the key algorithms because the information that you transmit over the air has to be secure so that it cannot be eavesdropped by other devices and other malicious users so there is a bunch of encryption and authentication algorithms that are associated with each service these are comprehensively stored in the authentication center and these are several algorithms which are different for different SIM cards and all these are comprehensively stored in the AUC or the authentication center module and the last one is the EIR which is the equipment identification register it stores the IMEI or the international mobile equipment identity for a particular device that carries information about the type of device the type of services that are supported by the device and also in case the device is stolen that can be appropriately reported and flagged in the equipment identification register and the basic operation of GSM is that GSM is a system which has a data rate about 270 kilobits per second that is aggregate and each user transmits as I said in a TDMA fashion that is in this particular time slot each time slot is a burst that is spread at around 577 microseconds and transmits about 156 bits of information and other aspect of GSM is the handover and a handover is an important aspect of mobile communications which makes mobile communications possible the handover means that when you're traveling across cells and when you when your call has to be handed over from one base station the other this process is known as a handover this is typically done for a variety of reasons as you're traveling across cells as your signal from one base station fades because of the distance or a decrease in power because of this decrease in strength because of the distance and you move closer to another base station then your call has to be handed over to the base station to which you're closer to and this process this is one of the aspects of handover the other aspect is if you're at the boundary roughly at the boundary of two cells and one of the cells is very highly loaded while the other cell is lightly loaded then some of the calls from one cell might be shifted to the other cell to balance the loads across these different cells that is known as load balancing in the mobile wireless network so handover is one of the most important aspects of GSM and in fact any mobile network and the most common fashion to do handover is to measure the signal strength from various base stations and once the signal strength and from one base station dips below certain threshold and the signal strength from another base station is above a certain threshold the call is switched from one of the base stations to the other by a mechanism which is controlled or supervised by the base station controller so these are the various fundamental mechanisms which make GSM which basically characterize GSM and not only GSM but at a certain level which are key for any mobile wireless communication system or mobile wireless cellular system so this module is intended to give you a brief overview of the different aspects and different facets of GSM which is the 2G standard and stands for the global system for mobile communication thank you


Item number, SCP-066, Object Class, Euclid Impetus. Special Containment Procedures. SCP-066 is to be kept in a safe deposit box at Site-21. Personnel level 2 or higher may perform experiments on SCP-066 after filing the relevant request forms. Researchers may log their results in Experiment Log 066 Beta. Note, Special Containment Procedures have been modified. The following now applies. SCP-066 is to be kept in a tungsten carbide box in Site-21's high-value item storage facility. Once every month, this box must be manually inspected for damage to the interior. SCP-066 consistently destroys any recording devices placed inside its containment box. If damage is present, SCP-066 must be moved to a new box. This task is performed via a robotic arm, capable of performing the task in under 3 seconds. Description. SCP-066 is an amorphous mass of braided yarn and ribbon weighing approximately 1 kilogram. Strands of SCP-066 may be taken individually and manipulated. When this is done, a note on the diatonic scale, C-D-E-F-G-A-B, is produced by the object. When a set of six or more notes are produced, SCP-066 will produce an effect of varying nature and duration. SCP-066 will not respond to manipulation while any effect produced by it is in progress. Prior to incident 066-2, results have included. SCP-066 transformed into a small calico kitten for 17 minutes. The kitten exhibited significant friendliness and playfulness and appeared to be de-clawed. A song lasting four minutes, acoustic guitar with vocal accompaniment by singer-songwriter, the lyrics warned the listener not to use sharp objects without parental supervision.  Notably, the tones produced prior to this effect corresponded to the opening notes of Happy Birthday. SCP-066 became responsive after said cupcake was consumed. Incident 066-2 On April 18, 2008, D-066-4437 was instructed to use a pair of scissors to remove a portion of SCP-066 for testing. However, when he began to cut it, SCP-066 rolled one meter away from him before stopping and making an unidentified squeaking sound. Before he could be provided with further instruction, D-066-4437 attempted to cut it again. SCP-066 rolled away and produced the phrase, Are You Eric? in response. After D-066-4437 replied in the negative, SCP-066 morphed into its present state and began emitting loud, dissonant staccato notes until D-066-4437 was escorted from the room. After Incident 066-2, SCP-066 began to exhibit behavior highly inconsistent with its previous properties. SCP-066 now displays significant mobility, primarily in the form of being able to move tentacular portions of itself at very high speed. While SCP-066 is either unable or unwilling to use this ability for transportation, it will occasionally attempt to damage its containment by rubbing its strands against the side of the box, gradually wearing it down. This process appears to be unusually effective for the materials in consideration. Additionally, SCP-066 will automatically produce notes and effects in the presence of any human, regardless of whether that human interacts with SCP-066. This process takes a minimum of six seconds. In the aftermath of Incident 066-2, effects produced by SCP-066 have included. A single bee was released near the containment, stinging D-4436 before flying away. The bee was not captured. It is unknown how the bee survived. Beethoven's second symphony was playing at over 140 decibels, causing permanent deafness in three personnel and permanent hearing damage in eight others. The room containing SCP-066 experienced a sudden and complete absence of light for five hours. Personnel in the room reported hearing loud breathing behind their shoulders, although no source was apparent. When it is not producing anomalous effects, SCP-066 will say the name Eric constantly in a deep, masculine voice. Lesson complete. If you missed the previous orientation, go watch SCP-065, destroyed organic catalyst, right now. Or for the complete course, watch this playlist.


Welcome to the Everton News Daily. Francis Onkaronku has signed a new deal with Everton until 2026. Do you like 2026? The 19-year-old has scored twice in 11 games for the 21s this season. Does play in wide areas. But he is someone that Everton are rating very highly. He was involved with the first team in pre-season. Sean liked to play them at Bolton. And he is someone who is quite lively and I think Everton are looking forward to his development. He signed them from Sunderland for £1m three years ago. And I think the next part of his development will be looking for a loan for him. And then hopefully he can develop and come back and get closer to the first team. Like I said, he is someone they do have high hopes for. He said he is delighted. He has learned a lot since signing for the club. Sighted Dominic Calvert-Lewan is a player he loves to watch. And tries to emulate some of what Dom does. So hopefully he will continue his development. And like I said, wouldn't be surprised if he goes out on loan this January as part of his development. So good news to see Onkaronku sign a new deal with the club. 21-year-old Everton centre back Jarrod Brantwight has been linked with a move to Newcastle United today. That is according to a few reports doing the rounds. Brantwight signed a new four-year deal in October with the club. Everton have released an interview with Brantwight, which he talks about his development earlier today. I don't think there's anything in this one. Newcastle will be linked with players up and down the country. There will be a lot of noise around it because it's a story and you'll have journalists pretending that they've spoke to Brantwight and he's interested in all of that stuff. But if Newcastle do come in for them, then the bid will start at 80, 85 million. And especially because it's Newcastle. So good luck with that one. Eric Ten Haag will watch the Everton versus Manchester United game from the stand. The Manchester United manager has received a one-game ban, a touchline ban for touchline conduct. Yeah, I mean it's a weird one. Eric Ten Haag because United have lost 50% of their games this season and yet he's won. I think there's only Sir Alex Feggis and it's one more games. One more games and they've faced 50 games or something like that as manager than what Ten Haag has done. So he is doing a lot better than the perception of him. Obviously in the Premier League this season, so far in their 12 games Manchester United have won seven and lost five. So they do one or the other. But for the Everton game he's going to be sat in the stands. Belgium boss Dominico Tedesco has said that they will not risk any further injuries regarding the fitness of Amadou Omnana. Omnana has gone to the Belgium camp. They have a friendly against Serbia and then they have a 2020 Euro qualifier against Azerbaijan on Sunday.  He says they will not jeopardise his fitness. He won't be involved certainly against Serbia. He said we may well try him on Sunday but we will be keeping a close eye on him. I think from Everton's perspective it would be much better if he wasn't involved at all in that game and he comes back and gets a bit more rehab ahead of the Manchester United game. And of course when he comes back from this he goes into then a very, very busy period of games as we make our way up to Christmas. Lots of games in December for Everton. And finally you can now get your Toffee TV Christmas jumpers. They are available. There is a link in the shop. There are links rather to the shop in the description and there is obviously a play on Everton's 1985 kit there winning the league that year of course and the European Cup. There is a blue and a grey version of it and there's also as you can see there a Elvis jumper with blue Christmas on. So if you're interested in getting a Christmas jumper and Everton Christmas jumper like I said the link is in the description to the shop go and check it out there if you're a Toffee TV Premier member. It guarantees us that there is a discount available for that as well. That is it for the news daily. Give the video a thumbs up and subscribe if you haven't and if you want to become a Toffee TV Premier member and get a discount on that Christmas jumper. The link is in the description and the QR code will be on the screen now. See you later.


Hello everyone, my name is Kathy Jory and I work at Zedita. I'm going to share my presentation here. Okay, as I said, I work at Zedita, which is an edge software orchestration company. But the talk I'm going to present today primarily focuses around Evo s, which is an open source project under the Linux foundation. And the really cool thing about Evo s is already revolutionizing the way that we manage the edge, the deployed edge to act more like the cloud so that you can have it people that have ownership over the edge hardware. But then the deployed applications and software are a sub tier developer operations and operational technology that the IT people don't have to fall into ransomware traps of those applications because they can always boot them out. So IT people rather than being deployed in the field can actually securely have remote ownership over that box. That saves a lot of money for and they can access from work from home from anywhere these days, which is important in these times. So just a little bit about me and why I'm doing this presentation why I like this is I'm an electrical engineer so I really appreciate good software tools and tooling that makes my life a lot easier. I really love the benefits of open source software been a big, big fan big user for a long time. A couple projects that I personally use and recommend for for example for programming microcontrollers.  Best tool out there. Great for learning but just great for double ease where you don't have the pain of software problems as much. IO is a project that spun out of Mozilla I worked on that project when I was at Mozilla. It's now a community project. I use that to have greater privacy over my smart home. It's a great, great project for that. And on the open source side, the focus of this talk like I said is really Eve. So you can find that under LF edge and all the services on GitHub. And of course I'm biased but the best commercial controller service for managing you know the centralized management of deployed Evo S boxes is found at Zita. First, I'm going to start off with a little background what is edge computing. When I talk about edge computing. I really mean it's anything outside the cloud cloud is somebody else's problem in terms of the hardware, the maintenance of the host OS on this on the cloud. And the edge you know there's sort of that regional access edge, and then there's the user edge and so the focus of Evo S is really on the user edge not at the micro controller level, but more at the Linux embedded application processor level. So smart, you know device edge on premises data racks and servers and stuff like that. And what's different about these two the cloud versus all these other edges is really how you deploy and use applications so when you're in the cloud, and you want to manage applications there over on the right side of this slide. You just ask which one am I deploying on AWS or TCP or Azure IoT or you know what am I one of my using and do you know what host OS do you know what hardware server racks power you know you don't know anything. You just know what software you can use. Instead, at the deployed edge, you're like well what hardware is there. What's it running. Do I need like what's my network access how do I reach it. What questions you having like, how do I get my software to it and is it going to conflict with something else. So there's a lot more problems right now with the deployed edge then that have been overcome by abstracting away those things at the at the cloud. So why you know as an IT person why should you offer that up to your application developers well it's because application developers don't like to have to manage the host OS and the security problems around it and manage the upgrade by the host OS and see if it conflicts with their application. So the, you know the specialized OS is cater to that. They let you live in the world of containers.  And you know it can be multi tenant you can run many on on the same machine. Choose choose whatever versions of dependent packages you want, you know less, less chance that somebody else is going to crash your application or service. This is the idea of cloud native this container orchestration. But So, so, because of that you can you can approach it as app development is one container at a time. And the difference at the edge is usually you have to pay attention to host OS it's not as easily easy to be hardware agnostic. And if you look at Docker container registries they're, they're dominantly in x86 architecture, compiled applications, and there's arms popular and certain niches like vision AI ML, but there's not in us not completely agnostic. And I optimistically hope that to see risk five servers coming, even even next year. Depending on chip shortages, of course. The other thing about the edges the host OS fragmentation is just you know what installation package management and servers and of course you can run containers but are you limited to only containers what about your legacy software you know it's not always easy to containerize that and then you just deploy more hardware to deal with legacy and containers at the same time. And then, if you are multi tenants, could other things crash your application. So, the OS does become the integration point at the edge, and you often have to, you know, find good service providers to help you help you manage that. So what is evil us. Again, is an open source operating system for the edge. Unlike many OS is it's, it's not standalone, it doesn't actually function on its own it's secure by design boot process requires an external controller like the first thing it does is phone home and say, who's telling me what to do, because I don't do anything told. And, and so the controller manages it over this open eva PI which has a whole bunch of security requirements that require the messaging certificate based messaging over the transport layer security so it's secure by design, and the OS itself is very lightweight meant for virtualizing everything underlying hardware so the applications can be multi tenant, and it includes very little extra just for reliability and security. And the way it does that you get your hardware layer and actual hardware deployed in the field, but it's similar to the ease of managing software in the cloud, in the sense that the edge virtualization engine has a container layer of VMs and containers and again this is under the LF edge of the Linux foundation. It's also designed for reliability in the sense that there are two partitions Eve takes about 250 meg of space for hardest space, and there are two partitions so that you always have have to set aside 500 meg so that you can always fall back when you're doing an upgrade. And then something happens during the upgrade. It manages the containers through container D, the orchestration. It always is being commanded by the controller over that open API and then on the application side there could be K3S clusters and Azure IT edge run times and you can deploy windows, you know, host OS, whatever you want, multi tenant containers. So it actually turned your edge nodes into a part of the cloud if you're in the DevOps position because again it has deployed these things in windmills and trucks and robots and all these places. And then the developer operation just sees them as yet another container or VM that they're running and hardware people or IT people get to actually choose their favorite hardware. The DevOps get to choose their favorite operate applications and clouds. And so everyone's happy and you save money with this centralized management and less complexity. And the way I look at it is the edge software today, it gets exposed to the weather of cyber attacks, right, because it's out there it's in a different space. And if you put the Zedita umbrella, or the umbrella over it, then your IT people on top, pull all of that edge software into the developer operations centers. So that makes it much easier. And now I just want to talk a little bit more about what's under the hood of EvoS, it heavily leverages Alpine Linux.  So it's like your integration hub of apps. And if you compare its size, for example, good tasting core components. If you compare its size compared to a server or desktop OS of Linux, it is a lot smaller. So there's a busy box in the land. So no nonsense in it system. It's going to get you there with a little extra. And it has just enough package management fresh port serve daily. I can smell that fresh bread yum. So you have packages as you need. The packages are nicely organized by the Alpine Linux community. And it's basically a, you know, composed of EvoS's unit integration is an OCI container image. So it's again, heavily leverages the Alpine Linux community. And within that of EvoS also leverages Linux kit and container D. So OCI containers are composed by Linux kit, which is the build tool and collection of software. And the final image about 250 megs and times two is 500. That's how we got to that about that size you'll need on your edge hardware. And at runtime everything is orchestrated by container D. So now I have doing pretty well on time here. Now I'm going to do install demo using iPixie. So let me pull over. Oops, wait, I got it. Oh yeah, there we go. I'm going to show you a couple of tabs. So we can open this up for a demo. Actually, I'm going to show you a preview of the demo first. What I'm going to do is I'm going to use the combination of Equinix metal which has bare metal servers that you can just rent. I'm going to rent one of their servers. And then I use an iPixie config file to bring up EvoS on that server. It's in some data centers, but I'm pretending that data center is my edge field operation site. I'm going to deploy EvoS onto it in real time from scratch. And then I'm going to use its IP address, which is kind of the only thing I know about it right now because I don't have actually have physical access to the hardware. And it kind of cheat news that IP address is a unique ID to bring it in and onboarding it to my ZCloud orchestration service. And so how this works is we have release images of EvoS on GitHub. And in these releases, there's a bunch of configuration files for different purposes. This one that has the little .ip.cfg, iPixie, is a configuration file that will let me do this kind of bootstrapping of onboarding it with the IP address. Essentially, we're booting EvoS from GitHub. And we use this a lot in software deployment testing and configuration. You don't have to physically build up other servers. The way that iPixie allows you to do this is really quite handy. And you could also use it to set up staging environments for training or pre-production testing, whatever you want. This is what happens in this configuration file is just points to the URL of the source code. And then there's a whole bunch of instructions for the download for the boots and stuff. So let me see if I can pull up that. Just exit for a second and find that other window. Here we go. Now I got to get on the glasses so I can see the fine print. This page under the EvoS project under the docs folder deployment.md has a section about deploying with iPixie. So you get to this section deploying EvoS physical environments on bare metal and running the installer image via iPixie. So the first thing I have to do is log into my next metal account. And pull up a server on demand. Again, the first part of this is actually described in this document of how I would do this. And I want a server close by, let's say in Silicon Valley. I'm going to pick the cheapest one. T1 small x86 and I'm going to do the custom iPixie build. And then I'm going to fetch this config right here. I know that since I wrote that doc, we're up to about version 12. It doesn't actually matter too much what version you get in there because once you get it onboarded and orchestrated, you can just upgrade EvoS to the latest version. So this is going to be my Silicon Valley T1 small. I'm going to do it's just so we can see the ones, whoops, two. Okay, so this is our ones demo of the Silicon Valley node. And that's actually all I have to do. I could also optionally just write this whole config by adding user data, but since the config is already done for me, I'm just going to deploy that now. What that does is it's actually throwing that config file onto this box. And on this box, it's going to boot it up and quickly I already get a network here. So I already have an IP address I can use for my onboarding. And with that, I better log in here to my site control account. So we have an LF edge kind of demo space. And for my edge nodes, I'm going to just go back here. I'm going to add an edge node. So this process of doing one's demo. And select the people project. And I could add tags and asset IDs and asset locations all sorts of stuff, but not going to do that. So for this serial number, I need to add my IP address so I'm going to copy that IP address, and that's going to be my serial number. And then you need the secret onboarding key, which I have copied over in my other doc. You can get that from me, you can get that from Zavita. And then I have to know the brand of the box and this happens to be pretty sure it's a super, it's a super micro. I'm going to show the T1 small x86. There we go. And now that knows because of that model it knows the network interfaces and all the other ports, everything is virtualized I'm going to sign the Ethernet networks to the management interface. So with nice usage, you could, you know, unused management interface, which is management is like that, the Z Cloud, like control interface or a specific app or runtime or, or what have you. So you can assign all of those. And this is just a demo and I want to immediately activate that edge node. So if I click, and then I have requested. So basically now my is a control box is looking for this box. So here's my ones demo KG. So now it's provisioned on the controller side eaves controller knows to look for it and now even self is booting and having to deploy all the software and once it gets everything done the certificates and so forth. Then it's going to phone home. So my equinex metal box is my deployed edge server pretend, and it's got an IP address. It's alive and if I look at maybe it's traffic, tiny bit of traffic maybe coming inbound. So that that's a good sign. You can look up all sorts of things about it and network interfaces and you. And when you're done with these because you rent them by the hour, the thing I'll do after this demo is overall just delete the whole thing and proof it's gone. And it's seven cents an hour so it won't set me or the company back too far. So if you look at this document you to just review what we did I selected a server I did custom my pixie boots and deployed that and you can also use a CLI so there's an API to talk to next metal so you can do this all software programmatically to create your devices. So this is all the other ways that you can bring up evil as you can install. Most of the time you install using just a USB stick, and you plug the USB stick into the hardware box and it has an installer image that goes into that boots evil as onto the bare metal onto the hard drive with the Raspberry Pi you can even flash a live evil as image onto your SD card or you can use the USB approach, which writes to the SD card. You can use the virtual images ways to do it in virtual environments to play around with it but anyway check out in general check out Eve has this docs folder, which is just full of great information right from the start for me. It talks about everything about the security, the containerization how the controller works, the runtime configs and then the whole idea is application software management in managing the life cycles of yourself or blowing them away upgrading them. It's changing them and never losing the secure ownership of the box itself. Here's my server so what what we want to look for in said control is there's even events that is ready to be provisioned and then it usually takes about, I would say five minutes for this whole server process to complete and for it to phone home, and finally get the secure TLS handshake between it and its controller, which is also in the cloud. Let's take a look at that. And we'll look at this basic info slide. Once it shows it has a IP address we know it's, it's on board. And then the other things that I could show you while we're waiting here is the marketplace of different types of applications that I might want to deploy. There's a lot of different types foundry and Fledge, and you know hello Eva something that's playing around with which is deploying a little web service, but there's, you can run Kubernetes and Azure IoT and TVs and empty TT and also to crazy stuff including a boom to full blown host OSes so there's a lot that you can deploy. And then there's a lot of different hardware models that that you can deploy to. And so let's go back to our node. Oh, and I missed it. Here we are status is online if I go back to the events. You see that it registered a change from provision to online it's, it's now online and then now it's ready to to for me to deploy something to it. For example, I could take this Hello Eve application here, and I would just deploy it as an edge app. And I go through and select the project deployment, which know I want to deploy to next and some of these. And all sorts of other stuff. And the Kubernetes clusters there's a whole page for Kubernetes clusters and inter instances so that you get the, again it's more like the IT technology part that you have to set up. If you want to do that, then people manage it as if it's part of the regular cloud so this is my. Oh, this is my Hello Eve for arm this is the one I deployed in my Raspberry Pi so never mind this I'm going to cancel this it's not going to run on me. X86, but you get the idea. Here's my. Whoops, back to my back to my online. Hardware and here's my basic info. And then here's where you would set up in the adapters you would set up all of your it. So instead of the rules, actually this is in the applications you set up the rules for all of the port forwarding or ins and outs or things like that. And so it looks like one of these ethernet interfaces is up and once not. And if we look back here this traffic, we see a little bit more traffic going in and out. That's basically it, you know so you see how quickly I took Evo as I took the IPC install, and I put the whole thing together with the deployed box and the controller, and now I'm able to deploy my software to it and manage it. How I want. So, drop that again. I'm going to go back to this and the, the key takeaway that I want you to all to get out of this talk is that a lightweight Evo s can actually offer heavyweight security. This is one of the just, it's going to revolutionize the edge in terms of how we can centrally manage simplify and reduce the it costs of ownership and not lose control to ransomware and cyber attacks because the only person with the keys to the box is that TLS link to the controller. And everything else is untrusted software over the top. So, the more you can push your, your teams that have to deploy edge boxes toward this approach or if you have applications that you want to be deployed, you know, to the edge, then get your applications into the marketplace of the commercial controller or package them so that they can be deployed containerized or as the ends. Anybody running Evo s will be able to do that. So, key takeaway lightweight Evo s heavyweight security. And I want to thank you all for your time, and let you know that I run the developer program at Zedita so my commercial advertisement here is that if you contact me with my email Kathy at Zedita calm I can probably get you into our developer free access to Zed cloud account and get to try all this out. It's great for system integrators OEMs and of course customers that have to manage their services in the field. So thank you all for your time and I hope you enjoy the rest of the edge networking event. Thank you.


It's quite amazing to see how the role of the woman has evolved from heading the home to now heading the offices and it's been possible thanks to all the support that they are getting not just from their families but also in offices where our colleagues are acting as our cheerleaders and of course on home front we have a busy partner as said our families who are sort of backing us up that has enabled a complete ecosystem based on which women are able to go to the top. My advice to the women would be follow your passion and you know taking all the help lean in wherever possible for help there's no shame in it but then follow the passion.


I'd rather be murdered That's when you know the veggies they're ripe for picking


What's your favourite animal? A frog. Mine's platypus. Awww.  That's my favourite animal. What are you doing working here? I need money. What for? I can pay my rent. Probably buy new shoes. Yeah, new shoes. Any pair of shoes in the world, what would they be? Probably the ones I'm wearing now. Ah, new balance. The new generation dad shoes. Yes. I love dad shoes. Are you a dad? I wish. Soon. Someday. Does anyone call you daddy? No. Not yet.