Okay, thank you so much. I really, it's an honor and very thankful to be invited to the conference to have this opportunity to talk about mathematical Manier contributions. Also because it gave me the opportunity to go deeper on what Manier have done, which is pretty amazing as we will see. But as everybody knows, and also it's a pleasure to be back, it was 14 years. I've never been here before. And actually my first international conference, the first international conference that I attend, it was in 1995. And it was after Manier died in that year. I think that it was one of those conference that, it was just a student at IMPA. It was a conference that in certain way marked whatever I decided to work with. Okay, so let's go to the main topic. So I never met Manier, so actually I met once in a coffee shop in Copacabana. And he was talking about movies and we were discussing about movies, so really, I cannot say anything about him personally. So I would like to really focus on what he have done. And there is a little glimpse about how Manier arrived to IMPA. And what I heard, and many people have confirmed this, that back in time in 1971 was a moment that the dynamical system started to explode. And especially in this, at least in this area of the world, related to the work of Smale. And Shakod Pallis was one of the students of Smale when Smale started to make the most important new role in the dynamical system. He went back to Brazil. And Manier, who took his first epodynamic with Jorge LeWowitz, he sent a letter to Pallis back in 1971. He was already back in Brazil. This letter is lost, so we only know a little bit of an anecdote related to this letter. And apparently he proposed many problems that he wanted to work with, and he was already working on what was the stability conjecture. We will talk later about deeply what is the stability conjecture. So we shall record a short video by Shakod Pallis. Let me find it. Okay, so this is the letter. I received a letter from a young man that I had never heard before. But I liked his style. It was not even clear that he had the results that he said he had. He was very close to having it. This famous letter, I'll talk about it again in a little while. But it impressed me a lot. He was very young and very daring. He was the one I liked the most. I liked his proposal. And I convinced Elor Mauricio that we would invite him. Just because he was daring in the proposals, I judge something positive. His proposal already had something concrete. I'm sure of it. It was a good result, but nothing spectacular. Spectacular came from his proposals. Three months after the symposium, he appeared. He didn't write and said, I'm going there. I accept. I want to work with you. He arrived on the Rio de Janeiro and visited us. This story of Ricardo. He was very excited. He was very, very strong. Very intelligent. When Pali said, I'm going to talk about this later, because the video is actually 55 minutes. We asked him to give a testimony of 3-4 minutes. He spoke for 55 minutes and he gave a lot of context of what was really going on. This is the story about the letter. Apparently, the problem that he was discussing was the stability conjecture. Sixteen years later, he came up with the proof of the stability conjecture. This is one of his famous articles. I will explain what is the stability conjecture. There is a video that you can find on the web. It's in the City of the University of New York. There are many video mathematics. One is about Manier. One is by Manier and where he is playing, the proof of the stability conjecture. I was talking to Martin that maybe it would have been better just to show the video. Because really, it's very interesting he is playing how he got the stability conjecture. Again, so we are into video. Let me show another short video, a short part of this. Supposedly, I thought everybody was going to laugh, nobody did. But whatever, I like it. But anyhow, it's a kind of confirmation that he was working on this for a while. Okay, so let's go to what is the stability conjecture. Here is the theory. The stability conjecture asserts that any structure is stable with a few morphisms. It's on a closed manifold. It's going to satisfy this condition, which is action A. So let's explain it and let's show some context of this. So, this goes back to the work of Andronome, Pontriagrin, that basically they were studying vector fields on surface, actually in an open disk. So the question was, you have vector field, you have the trajectories, and then you perturb in a certain way this vector field, you have the trajectories at a nearby system. And the question is, they look the same, in a certain way they look the same. And so they were trying to find out which are the conditions that is having this property, that the phase portrait of the two dynamical systems are in certain way equivalent. And they build this concept of grossier, rough, which is basically just a concept for vector field in an open set, in the two dimensional space. The notion of structural stability was coined by Lefcet. He translates this word into English. And he was in French, and he translated it into English. And he gave the name of rough, grossier to structural stability. This is the reason why we know this notion nowadays. And it was Poichotto who provided, and he was working with Lefcet, the definition of which is structural stability in the case of surface. Later became the definition in any situation, which is this. So you say that the diffeomorphism on a cloth manifold is a structural stable, is it's going to be, the dynamic is going to be conjugate to any one nearby. So you have an open neighborhood of F such that for any G in this open neighborhood, you can find an omomorphism such that have this property. So people say that this means that after C0, change of coordinate, F and G are the same. So you are sending trajectory of F into trajectory of G. You have a periodic point here, you are going to have a periodic point there. And in certain ways, like under this is C0, change of coordinate dynamic is similar. So this was a notion that started before this notion of axioning that was part of the conjecture. And to try to see what is an axioning, we have to go back to the work of Birkhoff. And basically, Birkhoff following point carrier, he was analyzing which is the type of dynamic that you could get when you have regular endpoints. Based on this work of Birkhoff, it's male build or produce a geometric construction of what is known as the horseshoe, which is this picture. And it's nothing else that you have this square, you are going to contract and stretch it and fold it back in a way that looks like a horseshoe. And this was a good example that showing that this became in the theoretical dynamical system as a prototype model of very complex dynamics. So you are going to have chaotic phenomena, but there is quite a system with a lot of periodic points.  Just the drawing is a little bit the same. But this kind of macroscopical similarity is going to reproduce. That is going to be on the deep macroscopical level. It's exactly the same and you have the both dynamic being conjugate. At the same time, Anosov, the Russian school working on flow related to shawdesic flow of negative curvature, he introduced the notion of hyperboleicity with this nothing else that if you look to the tangible, the tangible value of R2, in this case R2, can be decomposed in two directions, which are invariant. One is contract and the other is stretch. In the picture, the contracting one is the horizontal, the stretch one is the, no, sorry, the contracted one are the vertical and the stretch one are the horizontal. So, and what's the stability conjecture? So first, male proposed the notion of axionane. The axionane was kind of trying to unify many of those examples that it was present back in time. And an axionane is nothing else that's to say that the no-wandering set, and you will say, well, this is no-wandering set. Well, the no-wandering set is basically the only part of the dynamic that you really care. It's hyperbolic, where you see the recurrence, where you have the periodic points. Hyperbolic means that the recurrence set has some property of contracting and stretching. And the periodic points are dense on this no-wandering set. Periodic points are part of the no-wandering set. It could be much larger. And with ballies, after the word ballies did or more so smell dynamic and smell above, also understanding axionane, they proposed the following conjecture. And the conjecture is basically to unify the notion of stability and the notion of hyperbolicity. So these are two subjects that in certain ways they develop independently, well, not really independently. But the conjecture says that the structure of stability is equivalent to this property, axionane and strong traversality. So what is the meaning of this is the following. It looks like what is this? Well, hyperbolicity is contracting and stretching, contracting and stretching. So you have a region that doesn't look like this horseshoe that we were saying before, contract and you stretch. This is related, for instance, if you are in...  Well, what is a periodic point? It's a point that is coming back to itself. So you have a periodic point. Let's make it this fp equal p. And for a periodic point, you can take the derivative. And the derivative is a linear map. It's a matrix. And in the matrix you have eigenvalues. Well, basically hyperbolicity means that the sun eigenvalues are larger than one and sun eigenvalues are smaller than one in modulus. And that's it. This is hyperbolicity. So locally, you have a small rectangle that's going to be stretched and contract. Anyhow, here is a long direction. Anyhow. And so here you have this place where you contract and span here, where you contract and span. I put this difference at the index because in dimension larger than two, you could have points that the number of contracted eigenvalues could be different. For instance, dimension three, you can have two contracted eigenvalues, only one contracted eigenvalues, and they are separated. And so they are independent pieces. And all of these are related to what they call the stable and stable manifold. What is the stable and stable? If you have this rectangle that was contracted and stretched, this means that the points which are in the horizontal are getting closer and closer. And on the vertical it became farther and farther away. So the stable set are the set of points that are getting closer when you iterate and the unstable set is the set that they are becoming farther away when you iterate. So the black one are then stable. So this means that two points that are here when you iterate, they start to move away, far away. And here, one two point here, when you iterate, they are becoming closer. And those sets, they intersect transversally, and this is the transversality condition. And the main property of this action name is that this is kind of the cartoon of your dynamic. So okay, so here the recurrence set is here and here and here and they relate. So someone goes there and then they go coming here. If you perturb, you will have another recurrence set, but it's going to be nearby the other one. And this transversality, they are just smooth, manifold. And if the initial one was intersected transversally, the perturbed one, they keep this transversality. Well, maybe it's like for 90% of the audience, they know this, but whatever. But if you don't like this picture, because it looked like it complicated, maybe we can make this picture. And if you don't like it, do the following. You take the circle and you consider the following dynamics. You take a point, this is the angle, and you double the angle. Well, what is the main property here? You take a point, you take the derivative, the derivative, which is in these cases two, is larger than one. So you get so confused with this, just think about hyperbolicism in something that is one-dimensional. It's only one direction and the property is a derivative larger than one. That's it. And you say, well, what is the actual name? Well, the derivative is larger than one and periodic points are dense here. And so how do you prove it? You take a small interval, you iterate this interval, start to stretch, and eventually you cover the whole circle. So you have an in-hole interval that is covered by the image, then you have the hyperbolic points. So this is the sketch that would be relevant for us to consider as hyperbolic. It's an exercise.  Try to prove it. And we will see later, we probably will get one slide that is one approach that Manier did in another context that shows an easy way to prove that those models are a structure stable. Anyhow, so first, Robin and Robinson, Robin in the C2 topology, so in C1, they prove that action and traversality implies stability. So they prove one side of the conjecture. The convert was untackled and it was very extremely difficult and nobody had any idea on how to try to deal with this situation. And this is when Manier entered into the picture and he entered into the picture with a letter and actually with some idea that we're reading the letter. And two years after this letter, he finished his TC with ballies. The title is Persistent Embryan Money for our Normal Hyperbolic. And if you look to the whole construction that he have done on the problem of stability conjecture, you will see that he start to establish the first bricks. And he really was looking like, well this is how what they're going to say is like how you look to the story after the end of the movie. And you assume that at this moment he was already building the more important tools to go in the direction of stability conjecture. In this paper he introduced so many notions. Some ones they look like naïve and some ones they look like you don't know where it's going. But they are going to be so key on the proof of stability conjecture. In fact he introduced the notion of dominated splitting. This is the definition that gets difficult to read. But dominated splitting is for one matrix. So it's something about matrices. You have a matrix, dimension two. Remember that was hyperbolicity. It means that there are two eigenvalues in dimension two, one larger than one and one smaller than one in modulus. Three and one quarter. He said, well, you have these two different eigenvalues. You have two different invariance directions. Well here is the horizontal and the vertical. This is the eigenspaces. He said, okay, you know this is pretty obvious. You have a matrix that you perturb the eigenvalues are going to be nearby. So the nearby matrix will have two eigenvalues, one larger than one and one smaller than one. And therefore you are going to have eigenspaces that are close to the initial eigenspaces of the initial system. But he said, okay, but this is not the one eigenvalues are larger than one and smaller than one that is going to produce this kind of robustness of eigenspaces. Which is essential is that if you have two eigenvalues a and b, what you want is that the relation between them is a smaller than one. You have two different eigenvalues. You have two different eigenspaces, but they are far for the identity of an omotetia. How do you say omotetia? And you perturb it, you still have two eigenvalues and they still are different and therefore they are going to have two eigenspaces close. This is the notion of dominated splitting. In a certain way you can rephrase saying that hyperbolicity is something if you think about matrices is the notion of robustness of eigenvalues. Meaning if you have one, two types, the one that are larger than one and the other smaller than one, this is going to be robust, the perturbation. And the other means splitting about the robustness of some bundles. Okay? Of course, this is for one matrix. When you have a product that has so many matrices, a1, an, b-dominated means infinitely many. Then you can put all together in groups. So let's say the first k, the second k, another k. When you do the multiplication, under some chains of coordinates they are going to look like this.  Basically like this. There are many ways to define that. Anyhow. So it was a kind of naive concept, but it's going to be so fundamental in the proof of stability conjecture. Hyperbolic split and R1 of type of dominated split. So this was the first thing. So then there you have another paper. But sometimes it looks like a trivial remark. This is the funny thing. There are many of the stuff that he built, he made an observation that you look up, yeah, and so what? No, so what? You have a powerful tool over there. And this is what is very interesting sometimes to look to his contribution. Sometimes he's coming up with definitions that look like naive. But those definitions are extremely powerful and how he starts to use it, how he connects with different concepts. So he observed the following. If your system is stable, then you don't have bifurcation of periodic points. Okay, why? Well, you have a fixed point. So this is a, let's put a diagonal. This is a diagonal, no? Y equal to one dimension. Have a fixed point. One fixed point. Isolate it. So there are no other fixed points in this neighborhood. If you perturb your dynamic and you say that it's stable because you have this conjugacy, periodic points have to go to periodic points. Fixed points have to go to fixed points. And if you have, for your initial system, one fixed point, for the nearby system, you only have one fixed point. You cannot have zero fixed point because you fixed go to fix. Or you cannot have two because there is an excess. But this implies that the derivative cannot be exactly on the fixed point, have to be different than one. Well, it's like this. Let me guess. Because if this work was one, you say, why not to buy four gates, this periodic point, and then you create three? So stability implies that your periodic points have to be hyperbolic. So the gain values of the derivative in the period all have to be different than one in modulus. So this means that, okay, so you have stability implies hyperbolicity on periodic point. Very naive, but powerful as we see. I've introduced this notion that it's extremely interesting itself. Forget about the stability. I will care on the dynamics that have the property of all periodic points are hyperbolic, but if you perturb, the periodic point remains hyperbolic. So, FRF is a non-periodic point. When you perturb, the periodic point remains hyperbolic. So FRM is a system that all periodic points are hyperbolic. When you perturb, points still remain hyperbolic. And what he proved in this actually after many lemmas is a conjecture. Well, first he showed that the stability conjecture can be replaced to this. Showing that those guys, if somebody is here, this means that those periodic points are hyperbolic and the nearby also hyperbolic, then they're not wondering inside this hyperbolic set. That makes sense because he said, well, okay, if you want to productionate, the hypothesis of actionate that the periodic points are dense. And so you're assuming this kind of global hyperbolicity, the splitting, hyperbolic have to coincide with the hyperbolic splitting on periodic point. But why not to work on the other way? If I know that the on periodic point, the periodic point are all hyperbolic, maybe the hyperbolic splitting on periodic point can be extended to the closure. He's already aiming in this direction. So, also he observed that for in this paper, second scene, that for periodic point it's not only that the derivative have to be larger than one, or different than one. Again, we say that they have to be different than one. But assume that now this is a periodic point of period K. You have to have something more. You have to have a good expansion and contraction of the period. So, here this one dimension is mean that the derivative on the period have to be larger than a certain constant. Let's put like this, one plus epsilon up to K. It's not a derivative have to be larger than one. Have to be exponentially larger than one. Okay, so fixed point is larger than one plus epsilon, period G one plus epsilon power two and keep going. And this is a crucial point on the C1 topology. He's made this observation, actually was related to the work of Frank, that people will call flexibility. But this is a flexibility and this is why the way that you prove this and it's not difficult. Sorry, it's like a on periodic point if this is now a periodic point of period K, FK, this mean that they can value here to be on the period of this order. So this means some number here, one plus epsilon K and this is one minus epsilon K. Good. So what is the flexibility here? That is the opposite of the all the notion that we're talking about rigidity or whatever. And we will see later that actually Manier, he make big incursions also on rigidity problems. But what is the flexibility? So, okay, so you have a function and you have the derivative. If I change the derivative, can I get a function nearby that realize the change of the derivative? You say, well, yeah, of course. So it's one dimensional, I take the derivative, I modify the derivative and then I integrate. Yeah, you can do that. So a small perturbation of the derivative can be realized by C1 arbitrary small perturbation of the diffeomorphism. With one point it's easy. The problem is that the point has really large periods. The orbit is really large and you are in a compact manifold. So this means that the orbit start to get closer to itself. There are iterates of the trajectory that are getting closer to itself. And you have to do little changes on the derivative in a way that you want to keep the trajectory. And this is something that can be easily done in C1 topology and it gets more, it's false in certain cases, more complicated when you do higher topology. But this flexibility argument, change here, realize it here, is something that's going to be essential in his proof. The third scene is, okay, he was getting there, getting there. And it's a surface case. Diffeomorphism, one dimensional, derogational rotation of Morse's mail. The only one that is actually stable are the Morse's mail. This was already proved by Peugeotto. He did it for flow, but you can do it. But surface dynamics start to become more complicated. Horses start in the Horses by his mail where you have all this complication of dynamics happen. It's on the plane. Those guys, he said, well, here dynamics complicated, but those are not Diffeomorphisms. He proved the stability concept. And he said, well, corollary. He said, well, how is it corollary? And he proved in dimension two that axionames and the no-cycling condition, doesn't matter. You can put transversality if you want, if and only if, this. And remember that being here, it was related to being a structural stable. It's a corollary. So this is a conjecture in dimension two. Why you put a corollary? Well, because he proved this, an ergodic closing lemma. So you see the title, say, well, this is totally unrelated to stability conjecture. He said, well, he got the stability conjecture in dimension two, and it appeared in a paper that made no reference in the title to stability conjecture. Or probably he was looking for the big price, not for small ones. But he got this one that is pretty amazing that we will discuss, because it's extremely interesting in itself. And how does it work? Maybe I would like to give some details on the proof, yes. That's something. So there was one result that was going on the direction of stability conjecture from please. Back in the sistis. And he said, structure stability implies fininess of repeller and sinks. So what is a sink? It's a periodic point. But it's an attracting periodic point. It's a periodic point. This is a periodic point, no? So tak, tak, tak, tak, came back. But let's imagine that it's a trajectory. And it's attracted means that any point in a neighborhood is going to be attracted to it. So you have a periodic point. And then there's a neighborhood that any point in this neighborhood is going to be attracted to this fixed point, or this periodic point. One dimensional is mean that something like that, any point nearby is going to attract to this one. This is a sink. A repeller, well, those dynamics are invertible. The repeller is a sink for F-minochma. So if you start nearby, you start to move away from the trajectory, but you go backwardly, you're being attracted. So please prove the structure stability implies fininess of repeller and sinks. The proof is not difficult. If you watch the video by Manier, he will make reference of this result and how important and how inspiring was this result and what. On everything that he gave some idea in which direction to go. And the proof is simple. Say the following. It's in what? I get value far from one implied large basin. What is this? So what is this the following? You have a periodic point, fk of p equal p. And imagine that the eigenvalues, whether you have an eigenvalue derivative in the spectrum. That the derivative is smaller than one minus epsilon. X is fixed. Power k. Where k is the period of this guy. Good. So this implies that if you have p, there is a neighborhood, not necessarily on p, but in sanitrate. That any point in this neighborhood going to converge to p, but the radius of this neighborhood is related to this epsilon. And some quantities that will depend on f. So the size of the basin of attraction basically depend on this k. So you then, because we are in a compact manifold, you cannot, there is no enough room to have infinity in many of those guys. Because you have, if you have infinity in many, with this property on the eigenvalue, you have to put infinity in many balls of the same radius and they go into intersect. And they cannot intersect because one have to go one point and the other have to go to the other. Because they are the basin of attraction. Basin of attraction have to be disjoint in different periodic points. So it's a problem of room. So okay, this is not enough room. This means that if I have infinitely many, then the eigenvalue have to go to one. But the eigenvalue are going to one. So you don't have this uniform exponential separation from one using this flexibility argument. He can produce a bifurcation of a periodic point. So eigenvalue have to one and then the dynamic is not in fm. This means that by perturbation, a small perturbation, you have a no hyperbolic periodic point. So this is basically the idea. So now you have finite number of synone repeller. It was the first step, by please. The second step, it was not resolved by Pugh. There is this idea that, well, you are looking to build everything through periodic points. Now remember, axioname, the non-wandering is the closure of periodic points. So you need to have a lot of periodic points. But it was already resolved by Pugh that shows that you are dealing in DC1 topology, generically, the periodic points are dense. And if you are dealing with this, it's not only that generically, the periodic points are dense, always are dense in the non-wandering setting in this category. Because otherwise you will be destroying or creating periodic points. And because you only have finite number of synone repeller, the saddle periodic points are dense in the non-wandering. So now what happened that this is your non-wandering set. So this is your non-wandering set. Let's say here is your non-wandering set. Here in the non-wandering set you have periodic points. But now there are saddles. Because you remove the finite number of synone repeller. So if they are saddles, you have an eigenvalue smaller than one and eigenvalue larger than one. Well, this is the definition of a saddle. They say now you have a saddle and what is a saddle? Well, sun eigenvalues are larger than one and sun eigenvalues are smaller than one. They are saddles. Let me mention. So you take one point, take the orbit, and you put the stable and unstable eigenspace. You take another one, do the same. Take another one, do the same. And keep going. Take all the periodic point and take the hyperbolic split on the periodic point. So you have a function defined on a dense set. Well, problem. Given a function that is defined on the dense set, can you extend it to the closure? So well, basically this. It's a problem of extending some bundles. And what he proved a long time ago when he was working on this notion of dominated splitting is if you have a dominated splitting, it's a property that can be extended to the closure. So it's, and he already formulated this lemma in the case of periper. It's looking like naive. Well, why are you care about extending dominated splitting? Because it dominates the split. It was okay. If for some reason I have the splitting on the periodic point and the splitting on the periodic point dominate, I can extend it to the closure. And now I have a good candidate to show that the splitting is hyperbolic. You need first, if you want to show hyperbolicity Sunday's composition between two complementary directions. But you first, you need those complementary directions. And this is what he did. He was going to show. He showed it. Standard splitting of subtle periodic point to the closure. And then, okay, so now you have two directions. I will try to do something to show that one contract on the other span. Okay. So this, the notion of dominated splitting, and there are nine years in between those two papers, the one on 73 and 82, the main lemma of our extension, it was already formulated on the paper on the 73. And this is 82. How do you do that? This idea of extending. Okay, so you have this. The hyperbolic splitting on S is for subtle, subtle periodic point, go to the closure. So this is the cartoon. So you have one point, P, P, P, P, P. So this is the tool. How the periodic orbit? Fn of P equals P. And this is the splitting on the periodic point. One color is red, I think. Well, this one that they are like thinner is stable and the black one is then stable. How the split? They change. The angle could be ugly, et cetera. But there are matrices. So there is one linear map that brings this point into the derivative from here to here, derivative from here to here. This is an attention bound. And this flexibility argument says that if I pick up. Okay, the flexibility argument means this. If you pick up matrices, Vp, Vfp, Vfqp, this means what is Vp? It's a matrix close to the derivative of P. Vfp is a linear map close to derivative of F of P, et cetera. You do this. You can pick up linear maps. What the flexibility argument, and it was introduced by Frank's, show that you can find a map she, a diffeomorphism she, close to this one. That preserve the orbit. The orbit is the same. But the derivative has now the derivative of B. So you do whatever change on the derivatives. And then there is a diffeomorphism that relies this chain of derivatives. So you are moving the problem. Sometimes you see the work of Manier. It's about giving a problem, transform a problem in something else that is more malleable. And the way it was, well, this is dynamic. Everybody do this mathematics. And this new problem is a kind of linear algebra problem. It was okay. So I change derivative and I can realize it. And what is the linear algebra problem is the following. And this goes back to dominated splitting. See if you have, you are in the context of stability. You are in the context of FM. You have a periodic orbit with large period. Then if you take the product of the derivative, it has to be dominated. It has to be like this. You put in groups, you see the domination. Okay? You put, so the idea is like it has the derivative of this. I multiply by derivative. The derivative which you put all together is the derivative of fk. The idea you are using the chain rule. It has to be dominated. Then if you put in group, they have this property that what happened here have to be, what happened here have to be controlled by what happened here. And how can we prove it, say, okay, if it's not, what is the knot of domination? You remember this. If the two eigenvalues are close to each other, it means that you are close to the identity of a multiple of identity.  Change eigenvalue, put the addition in the one that you want, et cetera. The famous theorem that it says eigenvalues moves continuously. Well, eigenspaces don't move continuously. You want continuity of eigenspaces, you are aiming to domination. Okay? So many of the theoretical cycles is the problem of continuity of eigenvalue and the continuity of sub-spaces. Okay? So what he does, he introduces more rotations, not because you are really close to the identity, you can produce a small rotation and you generate the identity, or something that is an omoticia. He introduces the more rotations, this is small, that you take the first one, rotate, take the second one, rotate, take the third one, rotate, this is an omoticia as a linear map. But those perturbations as a linear map by the flexibility argument can be realized as perturbation of the diffeomorphism. So it's going to happen that there is g nearby f, that the derivative on that periodic point that is preserved is going to be this, it's an omoticia. But you have an omoticia. Well, in dimension two, in any dimension other, you are creating a repeller or an attractor, because it's the identity multiplied by 1 plus alpha or 1 plus epsilon or 1 minus epsilon. So when you produce an omoticia, you create a new signal repeller, but you already have finite number of them. That's what is the problem. So this is a problem. Okay, so this is dominating. Great. Now you have the domination. Wonderful. But I want hyperbolicities. Who cares about domination? Well, now, nowadays, we care a lot, but at this moment, who cares about domination? He said, okay, we have to show that the direction e is contracted, while e is contracted and f is expanding. And so, how to prove it? This is where the title of the paper appears, comes in, the Godic closing lemma. What is a closing lemma? Closing lemma means that if you have a recurrent trajectory, you want to close the trajectory, and now it became periodic. You have a point that is recurrent, like this, and then I would like to click close, and I have a periodic orbit. Sometimes it's possible, sometimes it's not possible, actually it could happen that what you close is this guy to this, not this to this, but this to this, but still you have a periodic orbit. But if you have this direction e, it's not contracted, it means that you have a nearby system. Here it should be g. So this is the trajectory of f. You can produce a periodic point, not only nearby, but they have this tracing property. So the new point b, obtained by perturbation of f, is a periodic trajectory that is following the trajectory of x up to fk of x. We have this shadowing property, it's really shadowing. It's a periodic property that follows the other guy. But remember that, okay, but remember that I was assuming that e, he was assuming that e is not a contracted direction. Then you can find this recurrent trajectory that if you go from x, go to the derivative of fk, along the e direction, it's not contracted. So it's like, well you don't see contraction, many trade wallets happen that after a large iterate, I don't see the contraction. I don't see it anymore, but you can find this point as recurrent. And what happened because this dominated split, they have this kind of robustness. So you have a matrix, you have this eigen space, a nearby system, eigen space nearby. So for b, there is a one direction along the orbit that is close to the direction, the e direction of the orbit of x, and they're close. So if along x you didn't see any contraction, along p, you are not seeing the contraction neither. It's a continuity. Okay, but if you don't see that, what happened in your source is created. Why? Because if it's not contracting, it could be that it's, well okay, if it's not contracting, f is expanding. So this means that if this number, the quotient is smaller than one, but this is close to one, this has to be larger than one. Good, so this is larger than one. But this is not contracting, this means that it is close to one, then I can do this flexibility argument and then make it larger than one. If it wasn't already larger than one. But now you have a repeater and you cannot do that. So this ergodic closing lemma, the proof is truly difficult, no, no, no. The idea is pretty, it's the idea that almost every point, for almost every point, there is an iterate that is going to show a nice property. Basically this is what happened in ergodicity. So I go in to get some property and almost every point, an iterate having this nice property. And the nice property is the one that allows to close trajectory in a nice way. So ergodicity is it's like eventually I visit in certain places, it's good. Okay, and the good is a place that allows me to produce this closing with the shadowing. And it's pretty smart to identify which is the good and why eventually I visit in the good. Okay, it's deep, it's conceptually deep. When you start to read the paper of Manier, sometimes it's like calculation, calculation, calculation, but there are so many deep ideas on realizing those calculation. And if you watch the video, if you read the paper, you say, no, okay, move it away. And then you, but now with this, you have the paper on the computer, you turn off the paper and then you turn on the video and they say, ah, wow, his video. This is the key to solve the problem in every dimension. And he says explicitly. Now what he wants is this. I put all together the periodic point of index one. Index one means one again value is smaller than one. Put all together the periodic point of index two, index three, et cetera. Well, those guys have to be separated. In dimension two, you have et cetera. Sinks, saddle and repeller. But seen and repeller are finite, so it's clear they are separated from the saddle. And so you want to show this that the periodic point of index i and j they are separated. So the periodic point of difference are far from each other. This is the new challenge. Now let me, maybe we can finish with the challenge and he solved it. Because he solved it four years later on this paper that we put on the beginning, but he changed gears. So he's aiming on this as well. This tool are not working. He generates a bunch of new tools. And one is relating about creating dynamical links. He said okay, so what is this? This is his finger. This is his drawing. So you put periodic point of index.  And then he moved the finger and then he connect those. I said well, when you produce this, this connecting and the next picture it will going to look better. You are creating new periodic points where the children have existed. And this goes back to a problem of Poincare. Poincare in his work he was saying okay, the problem of stability of the solar system he was identifying that in the street two body, three body problem there were trajectories there were kind of recurrent and they were associated to periodic trajectories. So if you imagine they had a fixed point their point that they are looks like they are coming they are getting closer to this point they go away, they came back they go away, they came back and this is the problem of this you have this fixed point and remember everything hyperbolic you want one direction that everything gets closer and one direction that everything go far away on the unstable direction and they are coming back and the pictures you can see try to imagine that they are unstable it's accumulated on the stable doing this, accumulate and getting closer and closer. They are advancing now it's like this coming here, go there, go here and he said okay it will be nice if we close it well and he produced another paper that is called the C1 connecting lemma that he showed that in certain cases you can connect and so he produced and this is the one that is producing this dynamical links there and you have to understand and it's interesting because the connecting lemma he wasn't proved by him he was proved later by Hayashi he proved in a particular case but the smart idea of him was either I can produce this connection by perturbation or there is a connection there they shouldn't have existed under this notion of dominated splitting either you have certain conditions allow you to create and this is a situ creation that was going on there that the connection already existed and they shouldn't be a connection there because if you have this connection they are periodic point and they shouldn't be any periodic point there so this is and the second one is the generalized and also closing lemma that's the matter he will explain it they basically say that you have this this splitting and you know that it's stable and the others know that it's stable F and he's not perturbing there are similar ideas by Liao and the story of Liao is interesting in itself and I wanted to explain it and I said ok so I have so much trouble playing in this and then I looked at the video and Manier did it better and so let's show the video just to me to make a little bit of honor of Manier if you know that this table is contracted and in the answer table you know that you have a lot of periodic point good expansion but you must have also some point where you don't have expansions in the orbit of that point if these intersect if you think they intersect no no no I mean this step if contracts have they need to expand the other and the idea is it doesn't expand if it doesn't expand you have expansions along the periodic orbit but you must have one point where you don't have an expansion one point in the closure one point in the closure where you don't have an expansion it is more or less bounded in the future and then the idea is to dissolve the expansion that you have of the periodic orbit moving near the point this expansion must dissolve because in the if you don't have and then you start moving it and dissolving the expansion till you don't let the expansion dissolve completely because then you are you can't go anywhere give it a little bit just a little bit of expansion and then you find using the old idea of the annus of closing lemur you find a periodic orbit whose expansion is an expansion but it's very deep and that's impossible because one property was here that said that for structurally stable things the expansions are definitely good uniformly definitely good larger than one over land okay I don't know if somebody understood but it's in the it's good okay and so he blew the stability concept this is the third video okay she said okay oh wow so manier is loop and this is really I am making the service to the memory of manier because what I explained is look like he was obsessed with one issue it's not true because really on the process of generating all those tools he was producing so much result that was moving in different directions he said okay but he was a master of C1 topology this is so flexible ah come on if I give you something C2 C3 ah now I want to see you it's okay give me something rigid give me the most rigid stuff it's okay I give you something I'll give you more anality no give me more well give me a polynomial okay with a polynomial I can do it and so actually he did something amazing that is in certain when it's related with the way that he was approaching the stability conjecture that is for olomorphodynamics so when he was moving beyond C1 no he was one voice was to understand this set the set of dynamics such that all the periodic point of hyperbolic even by perturbations they should have some structure and the second is in defying the soul of traction to hyperbolicity so if science is not hyperbolic why? and he did a lot of contribution on this I will focus on this one he he had in mind and he proved in C1 topology that fm should imply hyperbolicity so the fact that the periodic point of hyperbolic should imply hyperbolicity but he said ok but also should imply stability so of course stability and hyperbolic is the same they prove hyperbolicity and then stability no? but the question is how to prove stability without proving hyperbolicity so he had the periodic point of hyperbolic they remain hyperbolic perturbations and then this would give stability because we say that stability you have some periodic point goes to periodic point but if they are hyperbolic and you have one dynamic a periodic point of hyperbolic nearby hyperbolic I send the fix to the fix the one of p2 p2 p3 p3 and maybe this is then to the closure and he proved this result with Salivan the guy that is making question on the video is Salivan this is resolved by Magnus Salivan on dynamic of rational maps and he proved the following which is basically stability without proving hyperbolicity it's pretty interesting they have a big consequence many people have heard about the problem of the Mandelbrot set Mandelbrot set Mandelbrot set is locally connected so the Mandelbrot set locally connected is equivalent for the quadratic family you have the Mandelbrot set it's equivalent of proving that axionane is open and dense it's already it's still open it's a problem that have been alive for a while there are no many progress after the main road by Chocos but he proved with Paolo Zad and Denise Salivan the stable ones are open and dense which is funny because all the results that were new on stability were going through on the idea of hyperbolicity and he proved the open and dense of the stable ones without going through stability and the idea was this one as we say a standard analytic continuation of periodic point for each periodic point of P of a system of zero there is an analytic continuation as I have my system F and then I do a deformation by a parameter you want F lambda so you have for P zero you have P lambda you have this picture so this is the complex you have this complex manifold this is sorry this is the complex plane you have a parameter you have periodic point P1 P2 P3 P4 P5 all of them are hyperbolic so this mean that P1 has a continuation P2 has a continuation P3 all of them have a continuation so I bring this and this is again a continuation of kind of conjugacy in a dense set and the magic in the complex plane is that you can extend this conjugation periodic point to the closure and the proof is simple it's not difficult use a little bit of knowing little bit of understanding a little bit of complex dynamic complex analysis this proof you can adapt here to prove that those guys that they have the the largest one they are stable so you talk about that multiplying and by two is is a structure stable but try to prove the structure stable using this idea it works well on the circle okay and and if you wanted to prove the other side of the conjecture use either the gothic closing lemma or one of these explanation of manier on the video that you have a map here on the circle with the property of periodic point are dense and if the structure is stable then the derivative have to be larger than one force and iterate all the ingredients are in this little piece of the video or in the gothic closing lemma so it's an exercise well they told me that will be good okay the amazing part is like there was what everybody knew he died in 95 all the tool that he brought into the community probably gave the shop to many of the guys that were in the audience so he left so many things on the table under the table below the bed on the whatever everywhere and you can mention all the stuff that they were built after that on his technology looking beyond uniform hyperbolicity hyperbolicity partially hyperbolicity I mean it is bleeding dynamics you don't want Honsugas about what's called something's transit but you perturb remain transitive understand the dynamical dichotomy this lambda lemma funny is we know the lambda lemma it is also con lambda lemma it has been a strong powerful tool in complex dynamics and many of the in rows that people are doing in complex dynamic dimension you are building on this structure so really it's like and I'm not talking about like nothing it's like already this it's like he left the playground and with the many toys on the on the road and we are still playing with the tools and we are having fun and we find shops so in certain ways it's generous and ok and this is Mane and you see it like it's still the identity card from your way thank you not many of those guys that are in audience probably they were around him when he proved stability conjecture except that maybe somebody can say something interesting what is the role of in this history I see that you say that firstly was the roughness and I know because of this problem you know but after that you say that you want to translate that structure and that's all no there is another story there is another letter in between I know that it's as a notion but it's very strange that you want to role role of people well I tell him ok so if we ask me about the role of leftist in the mathematics maybe we have to make a conference for many days so we know the contribution in dynamic he did a lot of contribution but in this particular case this relationship is very particular he translates so Peixoto was back in Brazil we were talking about the 50s and he was reading the book by leftist where he was discussing the result by Andronov and Pontreagin and there is an adaptation it was another proof by a French guy and he was saying that he was talking on the field not just in the local dynamic and he had a seminar this is what Peixoto told me and I sharing the story and he said that he found certain problems on the proof and leftist Elon Lanchez Lima who was in Brazil was very close to leftist working in topology and he asked to Elon to bring to leftist another letter or the previous letter so at this time we mailed the letter by hand and so Elon bring the letter to leftist in Mexico they met in Mexico he opened the letter in Mexico he said ok send it here and so Peixoto was there apparently Peixoto arrived and he said he knew the definition of structural stability stability and so Peixoto said well I only have a definition he said it's like we have the few morphisms on surface it's a vanaghe space and if it's a vanaghe space I can be talking about two guys nearby and I can say they are structure stable if the two guys nearby there is a conjugacy between these I don't have any more and let's say well now you can prove so many theories so this is the leftist was very like a very present even in the modern definition structural stability and he was kind of a student of Leicester so basically it's like and it was an interesting case where the definition is so powerful because he brings the definition this is Peixoto and just the definition that they put on the slide like this and people are starting dynamic we are like who focus on those problems with the lunch and dinner etc. and it's so naïve but at this moment they show how something they get in the right definition they want to start to open the area you know and so Leicester was present and this time that the foundation of the notion of stability were given and this is just on this corner of the history of dynamics so you ask me other places well it's going to be more complicated so thank you


Hey everyone! And welcome back to another video on the Broogly Channel. I'm Broogly as always, and in this one I'm going to be going over Backroom Level 38, aka the Fold Point. That's right, the Fold Point. This one's actually insane and very, very unstable, to say the least. And I'm also going to be going over Backroom Level 39, also known as the Enchanted Forest, which is extremely safe and a very relaxing level. Pretty much the polar opposite of Level 38. So stick around if you like that kind of thing. Thank you for watching the video and let's get right into it. Backroom Level 38 is classified as a Class 5 difficulty and is unsafe, unsecure, and has an entity infestation. Ah, the best kind of levels. This level is unstable, glitchy, and it's a conglomeration of all Backroom's levels from Level 0 to Levels 37.  So 0 to 37 are folded together and are mixed up to form this level 38. And it's thought that this happens because the levels themselves typically don't have any defined structure. So they're almost like a liquid in space and time with no borders and that means that this is the point where they all meet and all swirl together. It's kind of like when two oceans meet together, Level 38 would be right at that border point. You got that? So this level has some of the properties from those first levels that make it unique. One property it has is that it's got the darkness from Level 6 so everything's extremely dark and it's also got the decay of the walls and structures from Level 33. And there are other unique quirks about the level as well but it all just depends on where you're at. Level 38 as a whole is split up into two different areas so that it can be better understood and mapped and tracked. The first area is called the interior which is pretty much the term that's used for any of the locations that are inside of buildings on the level. These interior rooms are the most common areas of the level but no good quality pictures can be taken because every place in the interior has the Level 12 effect which blurs and distorts and causes pictures to be terrible quality so that's pretty handy, isn't it? The second area is called the exterior which obviously refers to the outside areas of the level so if there's like a park level or a forest level it would be classified as the exterior and these areas are way more uncommon because there's only a few levels that take place outdoors in the first 38 levels so the ones that do are a part of the exterior. There actually used to be a base here called BNTG Outpost Merchant and it was set up right when this level was found with the goal to provide almond water, supplies, food to anyone who came to the level but now the outpost is abandoned because of how unstable the entire area is and because of the entity attacks. That didn't help either. To enter this crumbled together level you have a chance just by wandering around any levels from Level 0 to 37. You never really know. And to exit, you can wander around the level until it starts to change into a more stable zone and then you'll be sent to a level depending on if you were in the interior or the exterior. Cool. Level 39, aka the Enchanted Forest. That's a very Disney princessy name so I hope it's good. This level is a Class 0 difficulty and it was discovered in 1988 by an anonymous wanderer. Cool. The level is made up of curvy dirt roads that go through a thick forest, specifically an oak forest. The level actually isn't that big and is only around 190 miles or 300 kilometers in size. It's also in the shape of a circle and not a square. The level has no day or night cycle and it's just stuck at a constant dusk time. The pathways on the level are around 6.6 feet wide or around 2 meters and can be really confusing if you're not paying attention because they randomly curve and curl back and you can lose your place if you're not keeping your eyes open. Like I said, the trees inside the forest are oak trees and they can't be destroyed, broken, removed, moved at all because their roots are fiscally fused with the ground of this level somehow. They don't just have roots in the ground, they're like intertwined with the core of the level. Nice. The landscape is also pretty hilly and there's random ponds scattered around. People who have been here say that the level gives a random feeling of calmness and serenity and some even say that the level gives them intense nostalgia even though they've never seen the level or been to a place like this in real life. The only dangerous thing about this level is that it's so comforting and calm that wanderers can get entranced by it and forget to sleep or drink or eat so they might unalive themselves from dehydration or starvation but all you have to do to avoid that is to drink some almond water and the effects will immediately reverse. On the outskirts of the level there are these areas called the borders and they're pretty much really dangerous areas to go in. They have heavy winds and thunderstorms and sometimes there's even tornadoes and the temperatures are also way colder in those areas than in the main area. The sky is also darker and cloudier. So pretty much what I'm saying is don't go to the border of this level. It's lame. The real homies just sit and chill in the woods. There are no bases or outposts here but it is possible to make one as long as you take into consideration the fact that you're gonna have to drink almond water so you don't get entranced. You can enter this level by going into the woods of level 37 and finding the transition into the trees of this level level 39 and then you keep walking and you'll eventually get here. There are also three other ways to enter but you have to be past the level to enter it. So here they are. To exit, you can just no-clip through a hill to be sent to level 63 or you can no-clip through a weird-looking oak tree and if those two don't work you can use one of the other seven ways it lists to exit. There's nine exits so I mean it's pretty easy to leave. So yeah, this one's just a nice calm forest. I mean literally that's the definition, the epitome if you will of a safe backroom's level. So yeah, that was backroom's level 38. I think it's a pretty cool idea to have levels come together at kind of like a convergent point and they kind of just start crushing and smashing into each other like tectonic plates from real life. I think it's interesting. I hope you liked it. Thank you for watching the video and thank you for supporting me. I really appreciate you all. Thank you so much for all the support over on Tugli. The Backroom's Found Footage Analysis video that I uploaded a couple of days ago is currently blowing up and I really appreciate you all for that. Definitely gonna be doing more as well as maybe some stories about some cryptid encounters. I've been really into that stuff my entire life and I really just wanna upload some stuff like that on Tugli and I think you're gonna enjoy it. So stay tuned for that. Thank you all so much. I love you all and I appreciate everything you do for me. Hope you're ready for the stuff coming up. Hopefully you're hyped for that. Check the link below. Check the description box below for any links you might want. Like to my second channel, Tugli. Go check it out. Just about as some banger videos on there. Hopefully enjoy that. Thank you for everything. Thank you for watching and I will see you in the next video. Peace.


So at the beginning, a small disclaimer for me. Usually I get really nervous at the stage, but I really like this tour. It should be off in like about a few minutes. So luckily for us, by the end of this presentation, I should be fine on the stage. So afterwards, just ask me some questions. And now right now, we're moving to my presentation. My name is Slavoj Mirzaps, and I'm a member of the Confidence Organizing Crew. And this presentation will be about the conference we have annually in May in Krakow in Poland. So next slide, please. What am I going to talk about? We'll answer four W questions. What is the confidence? Where will it be held? When? Why should you come to it? And at the end, I have a small bonus for you. All right, so next slide, please. First of all, what is confidence? We are doing this conference for almost eight years now. This year, we have like the 10th edition. It started as a small project for just the Polish community, but right now it's much more international. Most of the talks are held in English. We have lots of workshops and villages around. What do we have in plans for this year? We have like two days of the conference. We usually divide it into two tracks every day. We will have discussion panels on the most current topics in the IT security industry in Poland. And then we have lots of social activities connected with the conference. It's not only about the technical part, it's also about the many types of villages. We have the log-picking villages, some old computer-style villages. We have everything. Last year, we also have like Capture the Flag, Quake 3 Arena Contests. We even had a special map for the Quake 3 Arena, which was like resembling the whole place we had. Maybe some of you do remember that we also had this special map for the CCC camp this year. We just made a camp, which was inside the Quake 3 Arena. You could play it. Next slide, please. All right, so where will it happen? First of all, we are in Poland, and we are visiting in Krakow. And usually the conference is held in Krakow. You have to come to this place. It's really a magical city. It used to be a capital of the country. Right now, it's not, but it's still a capital of the cultural part of the country. So, at the topmost, you see the picture of the Krakow itself and the main market. But then, last year, we had a really good occasion and we found out an old water pumping station. It's located near the city. It's still in the city, actually. And we had a full access to it. What you see on the picture is that these red bricks around. It looks like a factory. It's totally industrial. There are still some running pumps downstairs which are pumping water for, like, the zoo, which is nearby. It still works, but they're trying to shut it down in some time in the future so they allow us to enter this place. So, this year, we'll have confidence also in this area, and it's really crazy. That's why it brings us to the industrial style. You will see that there are lots of, like, industry workers and everything around which is still working, so you have to see it. Next slide, please. All right, when will it happen? Usually, we have the confidence in May, so this year, there's no exception from that. The dates we've chosen are 23rd and 24th of May, and you are all invited to come to the conference. By the way, I've just put a small part of the calendar there because this is the working week we have from the 21st to the 26th, which is Saturday. Before the confidence itself, we will have another conference about the web systems, front-ends and the back-ends and everything, and after the confidence, we will have a huge LAN party for the Polish guys and for the game geeks who are coming to our place. So, you can just prepare yourself for even having, like, the whole week in Krakow and at some point step into the confidence. All right, next slide, please. Why should you come? First of all, this is our... Thank you. Is it the time? One minute. All right, you have to come there. It's a technical conference, but we have a huge underground style and everything's fine. I'm just skipping to the bonus part. Oh, this year, last year, we had the Gringo Warrior, which was like a mix of the contests for lock pickers. You had to, like, set yourself free from the prison, then get over your documents and leave the area. This year, we're going even further. If you see this marking on the plans, there is a bunker hidden at one part of the whole area. And we got the blueprints for the whole bunker and we're gonna prepare, like, spy games inside it. We will have motion detectors. You will have to sneak past the guard, maybe, like, somehow, sneak through him. And, of course, save the princess. All right, next slide for me, and this is the contact information, and by the way, I really enjoyed the traffic light signs you have here. Thank you very much.


those aren't good for you but I like french fries yeah but they're fattening and bad for you well what would you suggest instead how about a baked potato that's a great choice Joshua well it looks like you're healthy eating initiatives having some effect on these young children it is it's about helping them make good choices and be strong in the future all right so what do you say kid


Hi, and welcome to this session about practical experience with Linux AB upgrades. My name is Lona Navin, I'm a senior software engineer at Consulco Group and an open source enthusiast. Consulco Group is a services company specializing in embedded Linux and open source software. My colleagues and I have experienced hardware and software build design development and training services. Furthermore, we have numerous upstream contributions through the years to very popular open source projects, including U-boot, the Linux kernel, Yocto, Open Embedded, BuildRoot, Automotive Grade Linux and a lot of solutions for software over-the-air upgrades, actually the core topic for this presentation. Consulco Group is based in San Jose, California with engineering presence worldwide. I have the privilege to be working remotely from my beautiful hometown of Pueblo, Bulgaria. Because of this, this talk is pre-recorded, so please feel free to ask questions in the chat while you're watching it. The agenda of this talk focuses on several topics. First, we'll start with discussing strategies and open source solutions for updating embedded Linux devices. For the past several years I have been actively using the Yocto project, so the majority of the examples will be about Yocto and Open Embedded. We'll focus on two particular solutions for big AV upgrades, Mender and Raug. We'll also discuss a combined strategy for integration containers with these AV upgrades. Finally, we'll wrap it up with some conclusions. There are many things that we should consider when we discuss software upgrades. Are there any limitations of the disk space? Are there any limitations of the network bandwidth? How to manage applications? Do we need containers? Do we need AB or binary data updates? How to upgrade? Should we do an upgrade over the air or should we do it using a cable or a USB stick? Although the majority of devices nowadays are connected devices, Internet of Things, there are still some use cases where either the device is not connected to a network or you don't have direct physical access to the network. So instead someone should go physically with a USB stick to the device, plug the USB stick and upgrade it. Also we should consider that some devices have stable Internet connection pretty much all the time, but other devices, for example wearable devices or vehicles are moving and may lose temporarily Internet connection. In this case, there should be a mechanism to retry updating it. Another question to ask is the device mission critical because very often after an upgrade a reboot is required and this reboot might have a very negative impact if it's done in a bad moment. More things to consider about software upgrades are the technologies we are using. What kind of build system are we going to use? If it's the Octo project, do we have board support packages for it? And so on. Last but not least, how to update a fleet of devices. Not just one device, but many devices and some companies have millions of devices to upgrade. In this case, you need reliable server software to distribute the upgrades to make sure that these upgrades are applied if something goes wrong to try upgrading the device again. There are several different embedded Linux update strategies, all of them are common because depending on the use case, different developers decide to use different strategies. First of all, we'll start with the AB updates. In this case, there is a dual renderer scheme with A and B partitions which are identical. The next common strategy are delta updates. Very interesting because a very small portion only, the delta of the difference between the old and new version is distributed. This saves bandwidth, however, it's a little bit tricky if the device is not working properly after the update as the fallback sometimes might not be possible if the device is not even booting after the update. Another strategy which is quite popular and actually is coming from the world of servers where containers are extremely popular nowadays, this is the container-based updates. Last but not least, nowadays, we see more and more people using the combined strategy where you have a small embedded Linux distribution with AB updates of the base distribution and containers running on top of it. We'll discuss this in more details in the slides later on. Let's start with the AB upgrades. Actually this is the main focus of the presentation. So we have a dual AB identical root FS partitions, partition A and partition B. The idea is that the device is running with one of the partitions as active. When there is an update, the client application which runs on a better device periodically checks to the server for an update. If there is a new software update available, the client downloads this update, installs it to the B partition and after that, using the bootloader, it switches to this B partition. If everything is okay, it uses this partition on which we have installed the upgrade. Otherwise, there is a fallback procedure which may return to the other partition which is known as a good partition and known to work. Sometimes having just AB partitions is not enough because the device may need to and actually most of the time needs to store persistent data which is left unchanged during the update process. Because of this, open source solutions for the AB upgrades also support as a feature to have a data partition. This data partition is left unchanged when you do updates. It's very convenient for storing, for example, configurations which are specific for the device. Let's discuss a little bit more the combined strategy that we had already mentioned. The container technology has changed the way application developers interact with the cloud and some of the good practices are nowadays applied to the development workflow for embedded devices and Internet of Things. Containers make applications faster to deploy, easier to update and more secure through isolation. Furthermore, nowadays, some of the embedded Linux devices are quite powerful. So a lot of companies prefer to have base distribution which performs AB updates and on top of it to have several containers for example, a dedicated container for each application. As you know, application development is quite different from platform development. So in majority of the cases, different teams are developing the applications and the platforms. Application developers are nowadays used to containers because they can have a container only for their application to make sure that this application is isolated from our application and won't interfere with them. This is good for security as well. And also application developers can ensure that the container has all dependency their application needs. And this means that you can perform management of the container and AB upgrades of the base operating system. Because of this combined strategy, it's actually something that I have implemented on several occasions for customers of Consulco Group and it's definitely something worth considering for many, many use cases. Let's have a look at the popular open source solutions for updates. We'll start with the two solutions that we will explore in more details in this presentation. Mender and Raug, both of them are for AB upgrades. However, Mender also supports Delta updates. Mender and Raug are not the only solution for the AB upgrades. SW update is also quite popular. There are solutions for container-based, entirely container-based upgrades such as Belenna or SNAP. There's also a whole group of solutions based on a project called LiboS3, previously known as OS3, which is doing binary Delta diffs of the file system and updates through it. Actualizer lines are applications which interact with LiboS3 to manage updates. For several years, as part of my work at Consulco Group, we were helping ATS Advanced Elemental Systems with the integration of OS3 in Yocto Open Embedded layers called MetaUpdater and their whole solution for binary Delta updates with ATS Garage. Also, technologies such as Qt OTA and Torizen by TorbEx are relying on LiboS3 for doing upgrades over the air with using just binary Delta. Another important question that we've mentioned is the built framework. So, how are you going to build your custom embedded distribution? Nowadays, there are a lot of open source built frameworks that do excellent job. Let's start with Yocto and Open Embedded. I've mentioned that I've been using it for maybe seven years now. So, this is my preferred choice, but also there are excellent alternative solutions such as BuildRoot, PDXDIS, or OpenWRT, which is quite popular specifically for rounders. Of course, there are other solutions as well. And I'm sure that someone will ask the question, can I just use Debian? Yes, of course. Debian is a stable full distribution with tens of thousands of packages available as binary files for installation without the need to cross-compile from source. Debian provides pre-compiled files for most common architectures, including X8664 ARM, ALAIS RISK 5. There are numerous Debian derivatives for embedded devices. Probably the most popular one is the Raspberry Pi OS, which was previously known as Rasbian. I'm also a huge fan of Armbian, which is a distribution, a Debian-based distribution for various single board computers, popular among makers. I know the maintainer Igor, who is doing a great job. The whole topic about using Debian on a better device is a very large. It totally makes sense for makers, for industrial projects. And Chris Siemens had a great talk a couple of years ago comparing Debian to the October project. I won't go into any details about this because it's a huge topic and we don't have time for it. But if this is something you are interested in, I highly recommend you to have a look at Chris's talk, which is recorded and it's available at YouTube. Now, I've mentioned that I have a lot of experience with the Yocto project. I also have upstream contributions to BuildRoot, but Yocto and OpenEmbedded is my preferred tool for building a Linux distribution. The Yocto project is a product of Linux Foundation. It is a collaborative project for creating a custom Linux-based systems for embedded devices using the OpenEmbedded build system. OpenEmbedded build system includes BitBake and OpenEmbedded core. Pocky is a reference distribution of the Yocto project, provided as metadata without any binary files to bootstrap your own distribution for embedded devices. The Yocto project has a B-annual release cycle twice a year. There's a new release. And last year, the Yocto project introduced the so-called long-term support LTS releases covering two-year period. The first LTS release is Dunfel. This is version 3.1 of the Yocto project. It was released in April 2020. And I have to say that all the examples in this presentation are based on Dunfel. And in the next slide I'll explain why this is important. The next release of the Yocto project is scheduled for October, which means next month. And it's going to be version 3.4, Honestor. This release brings a major change in the override syntax of Yocto and OpenEmbedded. So the character that we use will be replaced. Actually, it has been already replaced in all these main branches. And if you want to give it a try, you can try it right now. In October, with the release of version 3.4, it will be officially available. The documentation of the Yocto project has been already updated to cover details about this change. So here you can see a very simple example, how image install now appends Docker to your image. This is an example that I picked up because of the combined strategy that I mentioned previously. If you have already existing players, which are not yet converted to the new syntax, OECore provides a convenient script, which can help you to migrate to the new version. And keep in mind that although this syntax is not available in Dunfel, the current LTS version, it will most probably make it to the next LTS version of the Yocto project. So it's something worth considering. I repeat that this presentation and the examples in the following slides are based on Dunfel, so we'll be using the odd override syntax. Now let's focus on the AB upgrade solutions in more details. First we're going to start with Mender. Mender is available as free open source or paid commercial and enterprise plans. AB updates seems are for the open source use for the community and they're available for all plans offered by Mender. There's also a delta upgrades for professional and enterprise plans in Mender. So although Mender is popular among the community for its AB upgrades, it's technically possible to do delta updates if you subscribe for a professional or enterprise plan. However, in this presentation I will focus on the open source features of Mender with AB updates. Furthermore, Mender provides a back end service. This is the host of Mender, which you can install on a server to help you manage your embedded devices and their updates. Mender is written in the programming languages Go, Python, and a little bit of JavaScript of course. Can you live without JavaScript nowadays? The Yocto and Open Embedded Integration for Mender is done through the Yocto layer, MetaMender, and there are extra BSP layers for the various supported boards. The source code is available in GitHub under Apache 2 license. Here is a short list of some of the supported Mender devices. These are not all of them, but of course some of the most popular. Starting with Raspberry Pi, my favorite single board computer, and probably the most popular single board computer in the world, followed by the open source BeagleBone single board computers. There is support for Intel x86-64 devices, Rockchip, O-Winner, NXP, IMX6, IMX8, and many more. To learn actually all the supported devices, have a look at the MetaMender community layer, where you can find sub-layers for the various supported devices. For example, here we have MetaMender Raspberry Pi. Once again, I repeat, the examples here are based on the LTS release. Dumpo of the Yocto project and Open Embedded. Mender AB updates support two client modes. The first one is the managed, which is the default client mode. The client is running as a demon, puts from the server for updates. This is happening automatically. The second option is for standalone updates, which are triggered locally. This is suitable for physical media. For example, if you need to do an update with a USB stick, you can write the Mender artifact on the USB stick, plug it on the device, and if you have created, of course, previously, a UDAF rule. The UDAF rule can trigger, can detect the USB stick, and can trigger a script, which will apply the update using the same steps as explained here. So the first part of this example is that in local.conf we have to disable the Mender client, which by default is automatically enabled. Then we need to run, this example is for over-year update. Then we need to run a simple HTTP script. I'm using Python in this case, and on the embedded device, we need to run Mender installed, followed by the URL where we downloaded. And of course, instead of a URL, if we're doing the example that I've mentioned with the USB stick, instead, we should use the path to the file. Now let's have a look at the Mender data partition. As I said, by default, we have A and B partition, but the information on these partitions is wiped out each time when we apply an upgrade. So in order to keep some information persistent through updates, Mender has a specific directory, a whole partition, data partition. It stores persistent data preserved during Mender updates. The Mender client itself, which is running on the embedded devices, uses slash data slash Mender to preserve data and state across updates for its own usage. The size of the data partition is defined by a specific variable introduced by Mender. This is the Mender data part size mb, which configures the size of the data partition. By default, it is 128 megabytes. However, if this is enabled, MenderGrowFS data tries to resize on first boot the remaining free space for the data partition. However, keep in mind that MenderGrowFS data relies on SystemDGrowFS, so this is particularly for Linux distributions relying on SystemD. And it is also possible to create an image for the data partition in advance. This means that BitBake will produce this data image, and you can put out of the box some information. In order to achieve this, you need to apply the following configuration to ImageFS. The keyword is data image, and the Mender classes will take care of it, and BitBake will generate this partition for you. This is particularly useful because sometimes you really need to have something on this data partition as soon as the board boots. Let's have a look at the steps to install Mender update on embedded device. So first, you apply the update. After that, you do a reboot. On the first boot, after a successful update, the Mender client will commit the update. This step for committing the update means that it verifies that the device has booted successfully. It is working fine, and by doing the commit, you are saving the configuration, meaning that you are confirming that the update is successful, and on follow-up boots, this partition will be used. If the commit is not done on the next reboot, the old partition will be applied. In the setup where you are performing manual upgrades, don't forget to do the Mender commit step on your own. Now, a very interesting feature about Mender is the so-called MenderSingleFile artifact. This is a deployment of a single file directory or even a container image. This is particularly convenient for application updates. Very often people ask, okay, we're doing this AB updates, and if we have a big partition, this means that we are downloading the whole partition, which is a reasonable file in terms of this size. What happens if we just forget one file or something? The answer is Mender has this feature to deploy a single file. You can create a Mender artifact containing this file and apply it as an upgrade. However, of course, the root file system must be read-write, because later on you see that it's also possible to make these AB partitions read-only. So, yeah, this is an option in Mender, which is quite convenient and covers some critical use cases by saving you the procedure to do a whole system upgrade, and instead to deploy a single file. Let's have a look at some of the interesting Mender add-ons. Mender supports several of them. First of all, remote terminal. This is an interactive cell sessions with full terminal emulation. There's also an option for file transfer. This is again an add-on, which, as the name suggests, allows you to upload and download files to and from an embedded device on which Mender is working. Another interesting add-on is the port forwarding. You can forward any local port to a port on a device without opening ports actually on it. And the Mender configure add-on is for applying configurations to your devices through an uniform interface. So, Mender is not just the AB upgrades, but it has all these add-ons. You have the ability to create your own add-ons hooks and to constantly expand the features of Mender. I know that a lot of projects require some specific attention, because they have a very, very specific use case. And in these use cases, add-ons can be either used, any of these add-ons can be used, or eventually new add-ons can be can be developed. In 2018, Mender added support for Intel and AMD X8664 machines through the Group Bootwalder, because for all our devices, for the ARM devices, Mender is relying on Uboot. So for Intel X8664, we have group support. I have to say that in the embedded world, the majority of the devices as of the moment, based on my experience, are ARM. However, Intel also provides interesting solutions, and Consubo has some customers running embedded devices with Intel, for which we are using Mender with X8664 support. Over time, initially, there were some issues which were resolved, and nowadays, Mender works very, very stable on these devices. Here is a screenshot of a Github pull request that I have created to fix Mender initial installation from a USB on machines with BIOS using the same Mender installation script as for FE. So the whole thing behind this Github pull request is that the initial installation of a distribution on an X8664 machine is most commonly done using a live image on a USB stick, the very first time when you populate the drive of the machine. Once that's done, once you're ready with the initial installation, you can proceed with AB upgrades, just like as we discussed with Mender. Let's have a look at the other solution for AB upgrades, which is quite popular. It's called Raoq. Raoq is a lightweight update client that runs on an embedded Linux device and reliably controls the procedure for updating the device with a new firmware revision. Raoq supports multiple updates scenarios. It provides tools for the build system to create, inspect, and modify update bundles. It uses cryptography to sign update bundles. One of the advantages of Raoq is that it's compatible not only with the Yocto project, but also with PDX disk and build route. Raoq is available under several different licenses because it has several different components. Raoq itself is all of these repositories for Raoq are available at Github. There is a Raoq organization. Raoq itself is available under LGPL license. Matter of Raoq, this is the Yocto and OpenEmbedded integration layer for Raoq. It's available under an MIT license. Raoq Hopebit Updater are available also under LGPL licenses. In order to integrate Raoq on your embedded device and in your embedded Linux distribution, there are several things that you should do. First of all, you should select an appropriate boot order. For ARM devices, for example, it's going to be Uboot and I have created several examples for this using different versions of Raspberry Pi single board computers. Next step is to enable SquashFS in the Linux kernel configurations as well as for a root file system because Raoq does not have any X2 or X3 file system type support. We need to create specific partitions that matches the Raoq slots. We need a slot for the A partition, a slot for the B partition, eventually a slot for the data partition. The data partition in Raoq is something that we're going to discuss in the next slide, but basically it has the same features as what we described in Mender. The idea is to have a data partition on which the information is persistent across updates. The whole thing about partitions has to be specified in terms of Yocto and OpenEmbedded in WKS files. This is the WIC kickstarter file. The next step is actually the most important and tricky step because we need to configure the bootloader environment and create a script to switch between the Raoq slots, switch between the A and the B slots when there is an update which has been applied. Last but not least another important step is to create a certificate and a keyring in the Raoq system conf file to verify the updates. Security is a very essential part of Raoq and because of this we need these certificates and keyrings described. Now let's have a look at the Raoq data partition. The interesting thing about Raoq is that it supports both single and redundant data partitions. For redundant data partitions, the active root FS slot has to mount the correct data partition dynamically, for example using UDefRoo. This makes it a little bit tricky. This means that you have an A partition and B partition for the root FS and you also have an A and B partitions for the data, so the root FS should be taking care about switching between them. Honestly, my preferred choice is to stay with a single data partition. This makes things easier and on the data partition. You can store valuable information which should remain on the device between updates. Last year in 2020 I did my contribution to meta Raoq by creating a layer called meta Raoq community. The idea of this layer is to provide examples of how to integrate Raoq on various machines. On the previous slide I showed you the list of steps and there's so many steps that you should do in order to integrate Raoq, so if you have an example it's always easier to get started. And of course the obvious choice for this first example was to use a Raspberry Pi. So I started this in 2020. I wrote a blog post which was posted on consugu.com. After that I had a talk about it, so please have a look at this talk if you want to learn more details about meta Raoq community. And for my surprise a lot of people were interested in this layer. There were so many contributions. Nowadays there are several active contributions. We have a branch for DUNFEL, but we also have a main branch which is following the recent changes in Yoctoprojected Open Embedded, including recently there was GitHub pull request for fixing the new override syntax introduced with the new releases of Yoctop. Also this summer we moved the meta Raoq community to the Raoq organization in GitHub, so now you can find it in one place. Keep in mind that meta Raoq community is something for providing examples. It's something that helps you get started more easily and faster. The great news again coming from this summer is that a contributor was kind enough to provide support for Raoq on all-winner devices, also known as SUGSI devices, through the BSP layer meta SUGSI. Of course for Raspberry Pi we are using meta Raspberry Pi. So if you are using Raoq on a device which is not currently supported in meta Raoq community, please consider contributing an example for the device and contributions are always welcome. The source code is in GitHub and GitHub pull requests are welcome. Keep in mind that October fast is coming, so it's a good time for making GitHub pull requests. Now let's have a quick look at Raoq example for Raspberry Pi 4. As I said, the majority of the actually all the integration steps that I've described previously are already done in this meta Raoq community layer that we have for meta Raspberry Pi. So meta Raoq community inside has a number of sub layers and there's a one sub layer called meta Raoq Raspberry Pi. We need to add all these layers to the bb layers of our build and then in local.conf we have to specify the machine. Here I'm using system D. I'm adding Raoq to the image X4 for the file system type as explained that Raoq requires X4 and I'm switching to Uboot. By default meta Raspberry Pi is using the standard Raspberry Pi boot loader but in our case we need Uboot because I have implemented a script which switches between the partition db partitions and Raoq relies on the script and we have the W kickstarter wks file which has been specifically created for the dual partition scheme for Raoq on Raspberry Pi. So once this is done and we can build an image for example core image base booted on the system then we can build an update bundle. The recipe for building the update bundle is also available in meta Raoq community and here is an example how to perform manual Raoq update on the Raspberry Pi. Here you can see how the boot loader works. Initially after first installation the A partition will be active. When we execute Raoq install the Raoq will install the downloaded file to the B partition and finally we will do a reboot. So Raoq will take with the assistance of Uboot will take care to select the B partition and if everything is okay our device will boot from the B partition. One more thing about Valid for both Raoq and Mender is read-only file system. This is something that's not specific for the AB update mechanism that you are using but instead it's something specific for the Yocto project and open embedded. There are two options how to create a read-only file system using BitBake. The first option if you have your own image which is the recommended way of course is just to add to its image features the root-only root FS as shown here. Alternatively for example if you just if you just debugging and want to do it quickly through local.conf you can use extra image features and again add the read-only root FS. This is described in more details in the documentation of the Yocto project and open embedded. Beware that there might be practice in the image that expect the root file system to be writable and might not function properly. So why is this happening? Well basically as a very active contributor to meta open embedded I have to say that when I do an update for when I prepare a patch for the upstream of meta open embedded I do proper testing on read-write root FS and certain applications which are wrapped as recipes require on the fly after for example after the first boot of the device to create certain files. So if the system is read-only they will not be able to create these files and there are different solutions to this problem if you run it into it and if you want to have a read-only root file system for your AB updates. One solution is to move these files and directors to the data partition. This is a solution that I actually like because most probably you want to keep these files and directors persistence across updates because if there is something if there are any user specific configurations you don't want to lose them. Another solution is to use overlays and something that's again interesting and can be applied for both Mender and Raug is a combined strategy with containers. So there is a yokto and open embedded layer called meta virtualization it provides support for building send KVM, libvirti of course docker and all associated packages necessary for constructing an old based virtualized solution in other words the dependencies of these technologies. In order to use meta virtualization of course you have to add it to your bb layers but also you have to add to your distro features virtualization. If you have your own distro you can do it there. Alternatively if you are looking for a quick solution you can just add with append the virtualization to the distro features in local.conf. So once you have the layer and the virtualization distro feature enabled you can install to the image for example docker and run bitbake to build it. So the idea here is that there are use cases on power for embedded devices where containers are combined with a b upgrades of the base Linux distribution built with yokto and open embedded. So meta virtualization is your friend if you're looking for such kind of a solution. So let's wrap it up with some conclusions. Obviously there are numerous things to consider when implementing an upgrade mechanism for an embedded device. There are many open source software solutions and I highly encourage you to use one of them. I know that a lot of companies and developers think hey we're so special that there's nothing out there that can help us. Even if this is true keep in mind that you can take an existing open source solution and add only the features that are missing there for your particular use cases and based on my experience I have to say that things like Mender and Raok have quite a lot of solutions and they're covering quite a lot of use cases. So most probably for the majority of use cases that you have they already have a solution. Mender and Raok are very powerful and good solutions for a b upgrades. They have excellent integration for yokto and open embedded. Furthermore Mender also has integration for Debian and Raok has integration for various other alternative build frameworks. Combined strategies for a b upgrades with containers are becoming more and more popular. They have a lot of advantages not only because of the isolation of the application which is good from security point of view but also because application developers can have better control of the dependencies and the container images. Real world implementations of a b upgrades very often require data partition for storing any persistent data which is left unchanged during the update process. Honestly all the implementations that I have created for a b upgrade included such data partition. Thank you very much for watching. I hope you've enjoyed this talk. Here are some useful links and let me know if you have any questions.