Hello, welcome to Toffy TV. It is the Eviton News Daily. Sean Dyche is giving his pre-mats press conference ahead of Eviton's FA Cup fourth round tie with Luton Town at Gwreson Park three o'clock on a Saturday like football should be played. The manager was asked for an injury update. The blue squad is stretched at the moment. Sean Dyche was asked about the injuries. This is what he had to say. Unfortunately, we lost Andre, so we're waiting on news on how long he'll be out, but very unlikely for this weekend. Shane is probably not for this weekend. Youngy got through a game last night at 75 minutes, which was good news, but probably not for the weekend, and obviously Duke's a bit longer term. Unfortunately, the games programme, eventually, probably, you can't actually define it for sure, but somewhere down the line, these injuries often seem to be after a heavy game schedule, so that's the way it goes, but we'll work with what we've got and continue and keep pushing forwards. It never rains, it pours. We can't seem to catch a break with these injuries. Let's hope those players are back sooner rather than later. The questions moved on to Ben Godfrey, who has been the subject of a lot of speculation of ladies not really being included in starting line-ups by Sean Dyche. The manager was asked about Ben's situation, and this was his answer to that one. No, Ben's going on very well. His professional attitude is outstanding here. He's well thought of in the group. Hasn't had a mess go as much game time. He's frustrated by that quite obviously, but not in a sense of any, I must make clear, not frustrated with me and the situation. He's frustrated to not play, but he's a fantastic pro, and he continues pushing himself and the group, and that's what kind of guy he is. Off the back of that, inevitably, Sean Dyche was asked about players coming in. The transfer window runs till Wednesday at 11pm. In my opinion, he needs to bring in at least one player. I know it doesn't look like there's going to be any kind of permanent signs, but certainly the squad could do with help. Two players would be excellent, but listen, you go with what you can go. Sean Dyche was asked about whether there was any intention to bring players in, whether they were looking. He gave a guarded response. See what you think. I think it's a deal done, but obviously it is quite a difficult window. We've seen that not just for us. We've seen that with the amount of money spent compared to other windows, very, very low at the moment. I think it's circa £38-40 million, something like that, which historically is very, very low. If there are any income, would it have to be loan deals, Sean? Very lightly, I would suggest, yes. Anybody in the frame in terms of positions? Loads. Positions that you want to strengthen? Loads of lots. All areas? Absolutely. So, there you go. It's clear there's mud. He did say we were after everyone, so let's be positive, but I think, listen, I think everything will wait until late on deadline day to try and bring in some reinforcement.  They will be trying to bring players in to give the manager a hand as we move forward. We've got other things coming up having been the charge, the appeal, that kind of thing. Getting a couple of extra players and certainly freshing up the whole place. Give the manager more options, which is what he needs, really. Just moving back into Ben Godfrey, there's more kind of stories today. David Ornstein has reported that Leeds United are very interested in taking Godfrey, but they still have a way to go to convince Everton to part with the centre back. We reported yesterday, January, we're after them. Milan have been very interested in them as well, Sheffield United. So, seems like there's quite a few shooters to Ben Godfrey, and it looks like a permanent deal is what Everton favour, but until there's money on the table, why should Everton are going to? I don't think entertain alone. I don't think it really helps them, but Leeds do want the 26-year-old, obviously, the 49ers, their owners or part-owners, whatever, are trying to back Daniel Farch as much as they can as they try to chase down those automatic promotion places. Ben Godfrey is apparently one name that is very high on the list, despite Leeds doing quite well since the turn of the year, defensively anyway. In terms of an in, Everton are apparently interested in Ajax-Winget Carlos Borges, or Forbes, as he goes by the name of as well, after Ajax have agreed to let him leave on loan. They've only bought him in the summer. Obviously, West Ham were very close to taking him. Ajax swooped in, and he seems to think his career would be better there, but after a few months they are prepared to let him leave on loan. He's played 16 times, scored one goal and got three assists so far for Ajax. Other clubs like Forrest and Burnley are very interested in the 19-year-old Winger. I wonder if Everton could get this one done, whether that would mean Anna Danjum would be allowed out of the door. We'll have to see, but Everton could do with definitely another wide man and certainly another player who could play off the striker in sort of the decor. A role now or another midfielder given the news today as well. Of course, Andre Gomez now injured us with decor. That need has gone up even more, I would suggest, so that is maybe one to watch as we move towards the transfer deadline. Finally, Everton is on the 21-side, be bent figure at Walton Hall Park last night by two goals to one in the Premier League International Cup. Paul Tate's side came from behind. Sean McAllister equalised, and the winning goal was scored by Yousaf Chimitty, Everton's young Portuguese striker. You're good to see him on the score sheet last night. Ashley Young completed 75 minutes in that one, and hopefully that means he'll be available to boost Sean Deitcher's squad. Will this Saturday come a little bit too soon for Young? We'll have to wait and see, but I'm sure the man will be looking a full-on away to have Young available, even if it's just on the bench. That is it for the Everton News Daily. Make sure you check out Ped's interview with Andy Bairn and talking about Everton's PSR charges. Check out the Conacody interview on more than a game. There's a lot of good stuff in that one. Make sure you like and subscribe, and also if you want to become a Toffy TV Premier Member, the link is in the description. QR codes on the screen now. See you later.


So, welcome to this lecture this is lecture 11. So, so far so far we have defined topological spaces and continuous maps between them. Next we will define continuous maps in terms of limits we want to define continuity in terms of limits in a metric space. So, we will have to define metric spaces and then limits and then finally, give a criterion of when a map is continuous in metric spaces in terms of limits and that is what is the theme going to be the theme of the next few lectures. So, we begin with a discussion on closed subspaces. So, we are still not we haven't reached metric spaces, but we will reach there soon. So, definition. So, this is a general discussion the definition of a closed subset is very easy. So, let X be a topological space a subset Z contained in X is said to be closed if the complement X minus Z is an open subset of X. So, recall what we mean by this. So, X is a topological space. So, it has a topology tau and Z is said to be closed if when we take the complement that is in tau. So, let us make a remark one easily checks the following properties of closed subsets these follow from the definition of a topology. So, the first property is that the empty set phi and the full set X are both closed. The second property is that let Z 1 up to Z R be finitely many closed sets then their union Z 1 union Z 2 union Z R is closed. And third property is that let I be a set and suppose we are given a collection of closed subsets of closed subsets then the intersection of these closed subsets which is a subset of X is closed. And all these three properties all the above properties follow from the analogous properties for open subsets from the respective properties of open subsets that is one remark. And the second remark is that suppose we are given a collection of subsets suppose we are given a subset S contained in the power set of X which means we are given a collection of subsets of X which satisfy the above three properties. So, S satisfies these properties 1 2 and 3.  So, then tau defines a topology. So, in other words what this remark tells us is that to define a topology on X we should either it is enough to specify the collection of open subsets which should satisfy the three conditions which came which we saw in the first lecture either that or we can specify a collection of subsets which satisfy these three conditions these three conditions here and that would specify a topology ok. So, this remark is left as an exercise proof of this remark prove this. So, this is left as an exercise and another simple statement which is again left as an exercise which just follows from the definition. Let X and Y be topological spaces let F from X to Y be a map of sets. So, then F is continuous if and only if if and only if for every closed subset in Y Z contained in Y the subset F inverse Z is this is a subset of X is a closed subset. So, the main point behind this exercise is this easy check that F inverse of Y minus Z is equal to X minus F inverse. So, we have to use this well known property of the inverse image of map. So, in one of the lectures we saw after we introduced various ways of specifying topologies we saw several examples here. So, let us just revisit those examples and see which of those subsets are closed and which are open ok. So, the first example or one of the examples we had seen was the set S 1 right this is those X comma Y in R 2 this is that X square plus Y square is equal to 1. So, can we say something about the set is this set open or closed. So, the answer to this is quite easy. So, first we have to make the following observations. So, recall that we proved that the set of continuous maps is closed under a multiplication and addition and also that we also proved that the projection maps the projections from a product right. So, therefore, this map X comma Y maps to X is continuous. So, just for fun let us just make. So, we have both these maps X comma Y goes to X and X comma Y goes to Y is continuous right. So, we can make the graph of this map X comma Y goes to Y. So, let us say this is going to the Y axis. So, if we take a small open subset here right. So, the inverse image of that is going to be this strip over here if this is A and this is B. So, then this is going to be 0 comma A and this is going to be 0 comma B. This point here is 0 comma A this point here is 0 comma B right and we have to take this open. So, the inverse image of this interval is this is this tube is a strip if I may say so and clearly this is open because given any point over here we can always find a square like this right. This is a picture of the projection onto the Y coordinate and similarly we can make a picture of the projection onto the X coordinate. So, here the inverse image of A comma B will be this open strip right. So, this point is A comma 0 this point here and this point is B comma 0 and clearly this is also open because given any point here we can always find a right. So, now both these predictions are continuous. So, therefore X comma Y goes to X square is also continuous because this is simply the map let me call this map P1 and let me call this map P2. So, this is simply the map P1 square right. So, if you want so X comma Y maps to P1 X comma Y and the square of this. So, both these are continuous similarly X comma Y goes to Y square is continuous and addition is also continuous. So, therefore this implies that so the results we had proved in the previous class X comma Y square is a continuous map and now inside R the subset 1 is a closed subset right because what is the complement of 1. So, this is 0 and this is the point 1. So, we are just deleting this point. So, if I take any X over here then I can always find a small epsilon such that the neighborhood the epsilon neighborhood around X is going to be contained in R minus. So, in other words for every R minus 1 for every X in R minus 1 we can find epsilon positive such that this epsilon neighborhood around X is contained in R minus 1 right. Therefore R minus 1 is open which implies the subset which contains only 1 is closed right. So, this in turn implies. So, let us call this function give this function name f. So, since f is continuous this implies that f inverse of a closed subset is closed.  So, is that f of X comma Y is equal to 1 this is same as saying that X square plus Y square is equal to 1, but this is precisely equal to the set S 1. So, therefore, we see that S 1 is a closed subset. On the other hand we could have proved this fact directly from the definitions because we can look at S 1 S 1 is this yeah. So, if we take any point in R 2 minus S 1 if we cannot we could have directly shown and it is not very hard that we can find a small ball or a square of radius epsilon which is completely contained inside the complement. So, we could have proved that directly as well right. So, let us take the second example another example which we had seen was the spheres S n right this is those X naught up to X n in R n plus 1 such that X naught square plus X 1 square plus X n square is equal to 1. So, is S n open or can we say we just phrase it like that is S n open or closed in R n plus 1 right and by the same reasoning as above yeah. So, since the function f from R n plus 1 to R given by f of X naught up to X n is equal to X naught square plus X n square is continuous once again because the projections are continuous and therefore, the squares of each of the projection is continuous and when we add then that is continuous yeah. So, this implies that.  So, which implies that S n is a closed subset of R n plus 1 right and this is this is exactly equal to S n by the same reason as the previous example. So, here are two examples another example we had seen was the subset G l and R right this is equal to those A in n cross n matrices. So, is that determinant of A is not equal to 0. So, again can we say if this is open or closed. So, let us look at the determinant map from M and R. So, as an example let us look at the determinant of a 2 cross 2 matrix matrix. So, let us say this is X 1 1 X 1 2 X 2 1 X 2 2 right. So, we know that the determinant is X 1 1 X 2 2 minus X 2 1 X 1 right. So, each of the projections are continuous. So, each X i j is continuous and the product of continuous maps is continuous. So, this implies that this is continuous yeah and similarly this is continuous ok because the projections are continuous and this function is the product of two projections. So, for instance this function is this first function is X 1 maps to X 1 1 X 2 2 right. So, this function is continuous. So, therefore, so in this case this continuous and in general we know that right. So, in general since the determinant is a polynomial in the coefficients a matrix right. So, this determinant function is actually a polynomial function in the in the entries here. So, therefore, and each coefficient is the projection map right and the projection is continuous. Therefore, polynomials and projections are continuous. So, therefore, the determinant map right and now note that gl and r is simply the determinant inverse of this subset r minus u right. So, determinant is continuous and as r minus 0 is open. So, this implies gl and r is an open subset of m and r. So, another example we can take is the set SL and r right this those a in m and r. So, is that determinant of a is equal to 1. So, this is clearly. So, this is closed as SL and r is equal to determinant inverse of 1 and yet another example we saw was the set of orthogonal matrices right. This is those a in m and r says that a transpose a is equal to identity right. So, we claim that this is a closed subset. Now, in each of the above examples showing that these subsets are closed directly is could be somewhat complicated and we see that once we use once we obtain these subsets once we can realize these subsets as inverse images under continuous maps of certain subsets. So, then it becomes a lot more easier. So, here also we are going to do the same thing. So, first we have to look at this map from m and r. So, let us call this map f. So, the map f is a goes to a transpose a right. So, let us see what this does for a 2 cross 2 matrix. So, we have x 1 1 x 1 2 x 2 1 x 2 2 right. So, this is going to map to the transpose of this times. But this is equal to x 1 1 square x 2 1 x sorry x 2 1 square this is x 1 1 x 1 2 plus x 2 1 right. So, notice that on the right hand side each entry is a polynomial in the entries of a right and m and r here has the product topology which is the same as a standard topology. So, if we view m and r as r n square right. So, f is continuous if and only if each f i j is continuous right. So, f i j.  So, f 1 1 is precisely this coordinate right. So, f 1 1 of this matrix let us denote this matrix by x for simplicity of notation right. Similarly, f 1 2 of x is equal to this coordinate that is x 1 1 x 1 2 plus x 2 1 x 2 2 right and similarly we have f 2 1 of x this is x 1 2 x 1 1 plus x 2 2 x 2 1 and finally, we have f 2 2 x. So, all these each of the coordinate functions. So, each of the coordinate functions coordinates is a polynomial in the entries of x. In other words each of these coordinate functions we can write it as a polynomial obtained using the projection maps. Each of the projections is continuous and since we take product and add etcetera that is also when we continue. So, therefore, each of these coordinate functions is a continuous function which implies that the map the f is a continuous function right because. So, we can view f as a map from MNR to MNR well standard topology or the product topology it does not matter because as we saw the product topology on RM is same as the standard topology on RM right. So, therefore, so this shows that right and now so note that. So, this is for the 2 cross 2 example yeah. So, in the n cross n situation. So, in the n cross n situation or let me not write this. So, you can you can write down explicit coordinates for general n right. So, what are Fij for general n in terms of xij. So, this is an easy exercise. So, you can just write this down yeah in any case this is show. So, this shows that f is continuous in general yeah. So, f is from MNR to MNR and it is continuous. So, clearly this ONR is equal to f inverse of the identity matrix right. So, MNR contains the identity matrix yeah and therefore, to show that to show that ONR is closed in MNR it suffices to show this singleton identity in MNR is a closed subset. But this is a very general result. So, we will write this as lemma. So, let A 1 up to A M in R M. So, let us denote this by A right. So, then R M minus this point A is a closed subset ok. So, proof this is left as an exercise. So, we will end here.


On the 31st of July, at least 77 people were killed in a horrific fire in the Marshalltown area and the city of Johannesburg in South Africa. Now most of those killed, the residents of this building were migrants who had come to South Africa in the hope of aching out a better life, migrants from various parts of the African continent. Now in the aftermath of this fire, there has been a lot of discussion, a lot of talk about solutions. But what is shocking is that much of this discussion has focused on targeting the migrants. There has been in fact a wave of xenophobia whipped up by various political elements. And amid all this, a lot of key structural questions have been ignored. What are the housing conditions that led to this fire? Why are the poor in such a bad state? Why is it that migrants have always been targeted? One of the few organizations that has taken a strong stand against xenophobia is Abahali Basem Ajendolo, the Shaq Dwellers movement of South Africa. We have with us today, Tappelo Mohapi, the general secretary of the organization to talk about the fire, as well as the politics of the response that has followed it. Thank you so much for joining us. So first of all, see after the fire, a lot of the discussion and blame has focused on migrants, particularly African migrants. And they've been blamed in various ways and in various reasons. But this seems to be an attempt to divide people considering that the larger issue is perhaps the issue of housing faced by the poor. Could you tell us a bit about the structural reasons for the fire? Yes, first and foremost, we'd like to continue to send our condolences to the families of the people who have lost their loved ones during the fire. Abahali Basem Ajendolo, a Shaq Dwellers movement of the poor, believes that a human being is a human being, no matter wherever they find themselves. We believe that we're all created by God for the same reasons. No one must be more superior. No one must be more powerful than the other. We believe in equality and equality means recognizing the dignity of everyone, regardless of their social economic status and whichever country they come from. We are human beings. We believe in humanity after all. The conditions that the working class and migrant workers have been living under in the bigger city of Johannesburg, Deben and Cape Town has been that we are left to die. There are no services that are provided to the poorest of the poor.  We die in floods as a result of the conditions that we are living under. Whether you are living in the Shaq settlements, you are left to die there. The reason why people in Marshall Sound died in the manner that they died is because they are poor and they are coming from the working class. It is because it is a city that does not care about the poorest of the poor. It is a country that is run by a neoliberal government and the government that is interested in profit maximization over people's lives. So the people's life does not matter. All that matters is profits. And that's why the city of Johannesburg has never built any affordable housing for the working class and the poor in the inner city. We were denied by apartheid as Black people to access the cities. And today we are denied by the elites in the political elite in the government to access the cities. There is a crisis of housing in Johannesburg in particular where there's a backlog of more than 300,000 people who do not have access to housing. And the cities have become so expensive for the working class. We, the working class, are building these cities. And these cities, when they are supposed to accommodate us, we are not accommodated. And it's only the elites that are able to live in these cities. But we are the ones who build the buildings that are in these cities. And yet we can't even afford it because they are overpriced by the capitalist system. Right, Abel, in this context, given the sort of context you mentioned, I just wanted to ask you how this sort of reflects, how does this fire reflect on the larger approach of the post-apartheid state? Because there was a specific promise that was made to the people, a promise not only of justice but also of equality, all these slogans that were given at that point of time. How is it that after all these years we are in a position where an incident like this happens? First and foremost, we were sold lies by the politicians. The freedom that we were supposed to gain in South Africa in 1994 has been betrayed by politicians who are only interested in enriching themselves and their families. So more people are getting richer as politicians and those who are living in shacks, who are working class, who wake up every day to make a living, continue to suffer. The living standards in South Africa have dropped, salaries have dropped, people are living in dire poverty, there is deep inequality, in fact we are the highest country where there is highest inequality in the world. Where the poorest of the poor who have to work out whether they have to eat today or they don't have food. And there are people who live in the affluent areas, in big buildings, who have rooms that they don't use and yet there are people who sleep on the streets. So we have a crisis in the country. The freedom that we were supposed to gain was betrayed by those who, political elites who took positions and left us to die in the manner that you are dying. So we are not free. We cannot celebrate fake freedom because what we have in this country is fake freedom. We continue to die in shacks settlements. We continue to suffer because of starvation. We continue, our children continue not to get better education. The health system in this country is very expensive for the poorest of the poor.  So you cannot say that you are free. And therefore the government of the day has not done enough, in fact has not done anything to address the inequalities that were caused by the apartheid era and the inequalities that still exist today where people are poor, you have the poorest that get between the poorest of the poor and those who are rich is very huge. And yet the people who build the economy, the people who work the land are the black majority. Those who are impoverished, the working class are the ones that suffer the consequences, but they are the ones who are building this economy of this country. It is unfortunate that after eight years into the so-called democracy, we still talk about women not being able to access toilets, water and sanitation. We are still talking about people not being able to access sanitation in this country. We are talking about people dying like flies in the informal settlement as a result of the floods, as a result of the fires. So the poorest of the poor, if they are not attacked by a brutal state, if they are not attacked by those who are fighting against those who speak for the poor, we are left to die in the manner that the people in Marshall Town have died. Absolutely. In this context, talking about the people who died in Marshall Town, like we said, many of them are immigrants. And it's quite unfortunate to see such a huge wave of xenophobia that has actually seized many parts of the country, people blaming migrants in all kinds of way for this disaster. And your organization is one of the few which has taken a very strong stand against this. In fact, I believe in your statement, it has termed this kind of an approach, pure fascism.  We have seen previous instances of attacks on migrants from other African countries. So could you talk a bit about the politics that is kind of leading to this xenophobia or what really are the roots of xenophobia in South Africa? Yes, we have seen governments, when they fail to deliver for the poorest of the poor, when they fail to actually provide services for the working class and the poor in the country, they blame the other vulnerable group of people. And in this case, our brothers and sisters from the African continent, whom I see myself in them. We are only separated by rivers and mountains, but we are brothers and sisters. Our colors and then humanity means that we are actually from the same continent. And that we actually should recognize other achievement beings before anything else. But it is unfortunate that the government of the day is using some extremist fascism, where the poorest of the poor are now fighting amongst themselves for the cramps, while the capitalists are taking the biggest piece of the pie. And we are now made to believe that the brother from Malawi, the brother from Mozambique, the brother from Angola, the brother from Zambia is the one that is making me poor because he's taking my job, which is not the case. The case is we are poor because of a capitalist system that is only interested to take the resources of Africa and they take them away from us. And that's why we are poor. When people were short and killed, 34 miners were killed. All they were asking for was a living wage. After the colonialists came and took our land and they took our mineral resources, when we asked them to give us a living wage, what should they do? They respond with ammunition and they killed 34 workers. So that's how the government of the capitalist neoliberal system will work. It will ensure that it suppresses and oppresses the working class. And when the working class starts to speak out, you are short and killed in the manner that we are being killed. And if they're not using that, they will make us fight amongst ourselves and say that this is the reason why I'm suffering is because of my African brothers. So we are saying that we must build, it is only us, the poorest of the poor, that can build our own power, that we can speak about our problems. It is not the government of the day, because the government of the day has failed. Working together with our African brothers from Malawi, from everywhere else, we can bring liberation, the real struggles in our continent. We can bring real socialism in Malawi. We can bring real socialism in Mozambique. We can bring real socialism in Zimbabwe. And working together we must build a continent of humanity, not a continent of people being separated because they were born in other countries. These borders were not built by us. These borders were imposed by us, by the colonialism. And therefore we should not embrace them. We should not recognize them. In fact, we should do away with the borders. We are brothers, we are human beings, and we should treat each other with that. Because a brother from DRC, a sister from DRC is my sister. And one day I will go to DRC and I will expect to be welcomed in the manner that I should also welcome my brother who was coming from another country in this country. So this country we are saying, belongs to South Africans. It belongs to Africans. It belongs to migrants. It belongs to the working class. And if it needs to be, it is something that we will raise and fight for. We cannot be separated by capitalists who are taking resources from us and therefore divide us in a form of saying that this one belongs in this country. A border that were imposed by them in the first place. So an ANC government of that day, an illiterate system, is actually welcoming that and encouraging that. And we are seeing this very extreme right wing people who are mobilizing people for vote to say, we will get rid of the migrants if you vote for us. And the ANC is buying into that as well. So we, as Abbas Al-Basam Genolo are saying, we condemn any form of xenophobia. We condemn any form of discrimination. And we are saying that a human being is a human being wherever and whenever they find themselves. And we are not poor because somebody from another country just came to South Africa. We are poor because of capitalism. But capitalism is a way of not wanting, they don't want us to focus on the bigger picture. They are the ones who came and took our mineral resources. They want us to focus on this little thing and fight amongst ourselves. Absolutely. And finally, Abbas Al-Basam Genolo is also one of the most powerful social movements in South Africa because it is focused very extensively on the question of urban housing. You have an entire movement dedicated to it and a complete larger plan which talks more than just housing, but also talks about sovereignty, also talks about democracy in the complete sense of the term. So how do you sort of, what do you sort of see as the ways in which to address the crisis we are talking about, which for instance this fire exemplifies? We believe that the solutions of the working class and the poor will come from the working class and the poor themselves. It is when we are organized democratically from below as the working class that we can deal with the situation. We will be able to fight against any form of capitalism. We will be able to fight any form of neoliberalism and we will be able to fight any form of oppression and depression that you are facing if we are organizing ourselves from the below. So Basta Dibasam Genolo General Assemblies are a space for ordinary people to speak on the ground because we have been created and there's this perception that has been created by government and the elites that if you are poor you cannot think, if you are poor your state of mind has collapsed. Now we are saying the working class and the poor it is when we are organized ourselves because the government has failed us. Now we need to organize from below as the working class and the poor and speak about issues that are facing us and we are saying therefore our sovereignty should come from us and therefore we should make sure that we create food security for ourselves so that we do not starve so that we use land for the benefit of our people so that we don't use land for profits like the ANC government wants to do that. We want to do away with private property. We want to use land communally for the benefit of the community. No child must go to school on an empty stomach when we have land. So we continue to occupy land for those purposes for living, for food sovereignty so that our people can eat and we create a political school where we actually educate our people that they are not poor because of suddenly somebody from another country came to our country but they are poor because there's a system that creates them to be poor. There's a system that was created by colonialism and apartheid. There's a system that is there that continues to be perpetrated by the ANC government and therefore it is only when we organize from below that the people democratically speak out in their voices that we can actually create a socialist and communist society where we have people sharing whatever comes out of the land that we were working. So the power is on us as the working class to unite and speak in one voice and create a vanguard political party of the working class that would represent the interest of the working class that will be mandated by the working class that will take mandates from the people on the ground that will actually initiate what the people are saying because we don't want a top down type of approach that we are facing right now where government makes decisions on behalf of the people and not speak to the people. We want a government that will speak to the people and listen to the people and implement what the people have said and not implement what the capitalists are saying. So we want to create that. We want to organize people from below, the peasants, the working class and everyone else in the rural areas, in the urban areas, the urban poor must come together and organize. Let's come up with one voice and do away with the capitalist government that we are having and create a government that will benefit the people on the ground. Right. Thank you so much, Tapelo Mohapi, General Secretary of Avalali Basya Majandolo for talking about the reasons that led to the fire and I think highlighting the importance of both class, issues around class as well as pushing back very strongly against the kind of politics that is contributing to xenophobia at this point of time. Thank you so much for talking to us. Thank you very much comrades. Thank you to our African brothers. We are here for them and I'm calling on up all working class forces across the world. Real socialism is about equality, ensuring that everyone gets access to healthcare, everyone gets access to food, everyone, no child must go to school without food and better education. So therefore we must continue to fight this battle even if it means that we put our lives on the line. Many comrades have put their lives on the line for this cause and we should do the same until the next generations if we perish now before we realize real socialism. Our generation will thank us one day for having fought the good fight and this fight of equality, ensuring that better education, better healthcare for all and of course people having access to food, a country and the world where profit comes after the lives of the people. So land must be used for the benefit of the people for its social value and not for commercial purposes. We must not allow land to be used for profit for as long as people are still suffering in this country and the world. So socialism will build a better world, a better country, a better Africa. Thank you very much. Thank you so much and that's all we have time for today. Do keep watching People's Dispatch. Visit our website peoplesdispatch.org and follow us on all the social media platforms so that you can continue to see stories from South Africa, from other parts of the continent and the rest of the world.


Section semifinal time high school girls hockey in 8 to a brand little falls hoping to get back to the title game Friday night. But first things first have to take care of business against Moorhead. A team they've already beat twice this season by a combined score of 11 and 2. But what will round three bring in Brandon when we start in the first and how about Smith to Smith. I'm going to Gabby for the easy goal. Warriors get out to the early lead and later in the period it's who else would be a tie and a beer. She had two goals Saturday two more tonight after the beer time at three nothing brainer little falls and next it's Mario Wielinski with the shot and Grace Schulte slides into the back of the net. Warriors just dominating and how about one more for good measure Sophie Robinson all the way unassisted that one's in. Warriors steam roll the Spuds final score six nothing to shut out they're going back to the section championship once just everything we can we can't we just got to keep our intensity up keep moving the puck working on shooting and passing and just getting better at everything. What's the words they're so excited so who will they play whether you get your rematch Roseau wins three two so brainer little falls Roseau Friday night to go to state that one schedule to be in crooks. If you enjoyed this segment of Lakeland news please consider making a tax deductible contribution to Lakeland PBS.


Mr. Carlos Slim, our gracious host and co-chair of the Broadband Commission, vice-co-chairs of the Broadband Commission, Dr. Madron Ture and Ms. Irina Bukova, honorable ministers here present and other senior government officials of Mexico distinguished ladies and gentlemen of the Broadband Commission, ladies and gentlemen. Let me start by thanking our host for the warm hospitality and for organizing such a memorable first day of our meeting yesterday here in Mexico City. We have gathered here for our seventh meeting to once again assess progress made and to chart the way forward in advancing the global broadband agenda. The tour of the digital village yesterday showcased among other things broadband as it's transforming communities here in Mexico. I would like to congratulate Mr. Carlos Slim, our gracious host once again, upon his personal efforts and partnership with the government ensuring that broadband is impacting the lives of ordinary citizens of this country. We are aware that ICT and particularly broadband is both an enabler and an engine of transformation for all sectors of our economies and society. Over the last few years we have witnessed firsthand the transformative power of broadband in crucial economic sectors and on public service delivery. Similar progress in access to broadband services is being registered in many parts of the globe, particularly in the developing world including Africa. You will recall that from its establishment the broadband commission focused on the most pressing issues, namely broadband access and affordability. I believe the time has come for us to shift our thinking beyond connectivity and deliberate more on the transformation agenda. This meeting gives us an opportunity to share different experiences on how broadband is transforming our communities and we will also draw from those lessons to discuss how to position broadband in the global development agenda beyond 2015. In this regard I would like to extend an invitation to all the commissioners for a Transform Africa summit which we shall be hosting in Ikegari from 29th October to the 1st of November 2013. This will review progress made since the Connect Africa summit of October 2007 and consolidate various initiatives including those of the broadband commission, the African Union, NEPAD and others to ensure Africa is adequately harnessing the opportunities of broadband technologies. On that note I wish to thank you once again our hosts and co-chair, the people of this great city, Mexico City and the country of Mexico for making us feel at home when we have since the time of arrival. So I thank you for your kind attention and I wish you a good meeting. Thank you.


Hello everyone. My name is Martin and I'll be presenting today along with Nandor about Zero Trust and workload level identity. The title is a bit cryptic and a bit difficult, but I hope we can shed some light on what we have here. Let me start with an introduction and I let Nandor introduce himself as well. My name is Martin. I'm working as a product manager for Cisco, actually Cisco's emerging technologies group called OutShift. Previously, I was working at two different startups and I have a very heavy engineering background, so I just recently moved to the product side of things, but I kind of have a deep understanding of how this technology works under the hood. I start with a small introduction of our project and what we think of Zero Trust, what do we think the problem is within the space and how we are trying to solve it and then later on I will let Nandor go into the technical details and talk more about what we have implemented, how does it look like and he will also do a short demo about the project that we're working on. But now I'll let Nandor introduce himself as well. Yeah, hi, I'm Nandor. I'm working also for OutShift Cisco. Together with Martin, I joined Cisco through Bonsai Cloud. I'm mainly a software engineer since the beginning of my professional career, which is something like 15, 16 years ago. I don't remember. Yes, I'm working mainly in the networking and security areas at Bonsai. I was developing the BangPorts project, which was basically an infrastructure project for HashiCorp Word, making it easier to run on Kubernetes and use it more easier in a lot of applications. Now I shifted the gears and moved to WebAssembly and Canvas-based projects. Let's get started. Let me start with a simple example of a hypothetical attack. This is like a simplified example of how a security breach can happen. It's not a concrete example like an existing breach or a known breach. A better simplified example to make it easier to understand what we're aiming at. This example is containing lateral movement. Lateral movement means that today when an attacker gets into a system, then they usually spend some time there. They are trying to move laterally within the network or within the infrastructure. In the end, the actual exfiltration of data happens sometime later after the attacker goes through some steps within that infrastructure. Let me start by drawing up this attack narrative. Usually it happens by or it starts by a phishing attack. Maybe some AWS credentials were stolen. It can happen very easily to almost all of us. Maybe some employee was not paying enough attention to some email. They clicked it and pasted their AWS credentials. Well, it happens even to the best of us. But usually, and this is basically where lateral movements are starting, is that the attacker's end goal is not to get those AWS credentials. The attacker's goal is to exfiltrate some important data from the system. Maybe they don't even know beforehand what they are trying to do there or steal there. But they use those AWS credentials to start something in that system to just get there. Maybe they will start a VM inside a security group if they have the necessary permissions through those credentials. When they are inside a specific security group or within a specific VPC, they can start some kind of scanning of the internal network, see what's available, what ports, what services are available, what they can access from that specific VM. Maybe they find some user management APIs that are supposed to be internal. That is not available from outside of the network. It is only available from inside. It was meant to be accessed by other services, other microservices, especially in today's complex architectures. It is a pretty common pattern to use microservices and just have access from one of those services to an API to the other. If that API is not protected properly inside that system, then an attacker can exploit those trust relations and access this API from the VM that they've started. If they can access this API, they can start the actual data exfiltration by retrieving some kind of user information that was not supposed to be public. Actually, this is the end goal of the attacker not to get those AWS credentials. It could happen because the attacker was able to do some kind of lateral movement within that internal network, like accessing the user management API from an arbitrary VM, from an arbitrary script within that same security group. This is getting pretty common. Threads are evolving. These are some numbers that are like I think well known as of today. They say things like it takes seven months in average to actually identify a breach and contain it. It means that an attacker can spend a lot of time in that system before they are even discovered. It also says that almost 60% of security breaches contain lateral movements. This number is increasing and will increase in the future as well. On the other hand, only 4% of alerts are even investigated properly. Maybe you have a system that is configured to send alerts when it is detecting some kind of malicious behavior or some unexpected movements. Those alerts are frequent enough that they won't be investigating properly. The question occurs naturally. What can we do to prevent a breach like this? We have a lot of options. It starts from the very basic things like employee awareness against phishing. Just make your employees know that do not click any suspicious links and things like that. On the other hand, you can of course do a lot of other things like the principle of least privilege for credentials. If you have for example AWS credentials, you don't give access to all kinds of actions in every VPC. Maybe contain it to a security group to a subnet. Maybe if you have production systems as well as test systems, do not give everyone access to production systems and production VPCs, for example. That's a good principle. You can do network segmentation as well. Segment your network. Do not put everything inside one specific VPC, one specific subnet, but rather try to distribute your applications and create these segmented groups for each of your microservices. Then of course you can set up fine-grained network policies, especially if you have those segmentation things in place and say, okay, that subnet cannot reach services from another subnet or things like this. Of course you could use authentication even for internal services as well. That could help with my example. If that internal user management system is protected by some kind of authentication, it is not as easy to exploit those trust relations as before. Or you can use some kind of active monitoring for anomalies. It is difficult, but there are a lot of systems that are doing just that.  But we also have problems with these approaches, and it doesn't mean that you shouldn't do these. These are all good principles and things that you should do, but they have problems. For example, it doesn't really matter how the various employees are against phishing, it can happen to everyone. It even happened to me because I was just not paying enough attention, and someone was able to use my credit card somewhere. Even though I couldn't really believe that I would be a victim of a phishing attack once, but it happened to me as well. This privilege, it means that, okay, you can restrict it, but someone eventually will have access to those systems, and if they are the ones who are the victims, then you will have the same problem. Okay, maybe the chances are not as big as if you would give everyone privilege to all kinds of systems. Network segmentation, again, it is good, but in the end it is just limiting the scope. So maybe if someone gets into your system, they won't be able to reach all the other services, but reach only those services that belong to the same network segment. If you're trying to set up network policies, it can be extremely complex. It will probably involve some complex architecture that you need to put in place. If you want to use authentication for internal services, it can get very hard, very quickly. If you do it one by one, and you have, I don't know, hundreds of microservices, and you're trying to implement authentication for each of those services one by one, written in a lot of different programming languages, in a lot of different frameworks, then it is just hard. It can consume a lot of time and resources of application development themes. And last active monitoring of anomalies, it is even harder, like creating a system or even buying a system like that. It won't be 100% sure that it will catch all those attackers. Even if they send alerts, they won't necessarily be investigated properly, as I've just shown in my previous slide. So all these things have problems. And in general, they can be restrictions or they can be reactive solutions. But the question is, do we have something that is able to prevent all those lateral movements and all these things that I've listed? You can think about zero trust here. Zero trust is a very heavily hyped something that everyone is talking about. So what if I implement a zero trust strategy in my system? Would it mean that, okay, now I'm good. I'm protected. It means I won't trust anyone. I'm implementing it in all parts of my system. But do we really know what zero trust means? Is it like a strategy? Is it a principle? How do I implement it? How do I execute my zero trust strategy? It is not a simple question. Because effectively, zero trust is not an implementation, not even a specification. And it cannot really be bought as one product. I cannot really go ahead and buy something from the market and say, okay, now I've implemented it. I've put it in place. And okay, now my environment is protected and zero trust is implemented. It doesn't work like that. Zero trust itself is just a security principle. And of course, a corresponding strategy that goes with this principle. The principle itself is very simple. It says, I'm moving from a trust but verify model to something that says never trust but always verify. Even if it's end users, even if it's workloads communicating with each other, it is always never trust and always verify. But still, this sentence, this principle doesn't say anything about how do I implement zero trust in my system. But why is zero trust actually a big thing or why is it a hype today? The answer to that is that it's not necessarily hype. So the zero trust principle itself is it's kind of like a good thing. And it is driven by the increasingly complex and distributed architectures that are appearing today. If I have a simple monolith, then it may not be as big of a problem to protect connections between my workloads. But if I have hundreds of microservices and I have multiple hundreds of connections between these microservices, it can get complex very quickly. Maybe these services are not even deployed to one cloud provider or one network. They are scattered across networks. They are scattered across cloud providers. They use all kinds of mechanism for connections, different protocols, and so on and so on. Because of this, securing only your network perimeter is becoming obsolete. It is just not enough anymore. I just cannot say that, okay, I'm securing everything that is coming from outside, but inside, like, everything can happen. It is also because of insider threats or just like what I've said about lateral movements. Then I also, in the need of granular workload access control, just because how my architecture is becoming complex, I need to control what workload can access what other workload and just I need to control it granularly instead of just seeing some very broad rules. So zero trust is a good thing. It is definitely a thing beyond the height as well. But if we talk about zero trust, I've usually distinguished two different things here. One is probably the first one is zero trust that everyone first thinks about when someone says zero trust. It is zero trust network access and it is a way to secure remote access to an organization's applications, services, or data. It is something that could be substituted for a VPN. So instead of granting access to a whole network with VPN, granting access to services and controlling it through policies by clearly defined access policies. This is usually what someone thinks about zero trust. But there is another area about zero trust and it is workload to workload zero trust. That's how we usually call it. It means that when I have multiple services in like one VPC, one network environment, I need to control how I can access one workload from the other. And this is basically the part that we will talk more about today. For that part, there are multiple solutions today on the market. The first one is micro segmentation. This is the more common application for zero trust. It is usually present in more traditional networks. It is usually network-based. It means that I'm dividing the network into segments and applying security controls to each of those segments. And these segments can be as small as one workload that is running on a machine. It is for sure reducing attic surface, but it still doesn't encrypt traffic. It doesn't work well in Kubernetes, at least not as a first-class citizen. And it can get very complex, very quickly when you're setting up policies in a changing environment. The second solution, especially in Kubernetes, are service meshes. Because service meshes effectively implement a zero trust environment if you turn on MTLS connections between your services. But service meshes also have problems. One is that they only realistically work on Kubernetes, not necessarily outside of it. Service meshes often mix responsibilities between network and security teams. So MTLS connections and zero trust can belong to security teams. But on the other hand, a service mesh can also be used to generate telemetry and also to control your network flows, maybe do some load balancing or some A-B testing and stuff like that. It is not very granular. I mean, it can be enough in a lot of situations, but not in all of these situations. It means that a service mesh will trust everything running in the pod behind the sidecar. So if someone is able to get into your pod, then they will still be able to exploit those trust relations.  Sidecar proxies, non-level proxies, routing traffic through these proxies. It can be a pain and more and more people realize how complex they are, especially that they often doesn't need all the functionality of service meshes. Maybe they would only want to use it for MTLS, but it means that it comes with all the other proxy hell. So third, and I'm talking a bit too much, so I'm trying to do it quick. Third, and this is where we are trying to get is kernel level identity and encryption. It means that, okay, we can maybe take the ideas from a service mesh. We should do MTLS between those services. If I can do automatic MTLS, I'm protected against those lateral movements that are happening from workload to workload. But I don't need all the other things that a service mesh has. And maybe I can also use it outside of Kubernetes, because if I'm moving all these things down to kernel level, it means that it will work everywhere where Linux is the host. But again, even though it works on the kernel level, if I'm running on Kubernetes, I can use some kind of connectors or metadata collectors to get Kubernetes metadata and actually write policies and do access control based on that information. And compared to micro segmentation, it also does encryption. So it's not just like segmentation, but also encrypted traffic. It can also be application and network agnostic. It doesn't really matter if or how your workload reaches the other workload. If it can reach it, then our kernel level identity can work there. It can also be completely transparent to the application. If I'm implementing it in kernel space, it doesn't really matter if I'm running my application on top.  It will just work completely transparently. And this is basically the idea behind Camblet. This is a new open source project by Outshift to automate kernel space workload identity access control and encryption. And now we can switch to the more technical part and I'll let Nandor talk about Camblet a bit more. Okay, so I'm taking over the screen shot. Try to present what is Camblet. Okay, so as Matt mentioned, Camblet is a kernel-based solution. And first of all, I would start with an architecture diagram, which hopefully will clear things up how it wants to work on the Linux kernel. So kernel is a hard topic. The Linux kernel is a hard topic, but we would like to attack it in a way so users can consume it as easily as possible. So for example, we have a very nice installer which is a one-liner and installs the main components of Camblet and starts a probably an installation which can be configured easily. Camblet consists of an agent, as Martin mentioned, which is basically a user-based component and consists of a kernel-based component for the Camblet driver, which you can see on the bottom on the Linux node. And what we do here is the driver does the heavy work and the agent does the controlling work, like distributing policies, capturing metadata processes, and the driver does the data playing stuff like encryption, authentication, and policy enforcement, and authentication is doing to DLS certificates. I will come back to this slide later on because it can clear things up. Okay, the core of Camblet is in the kernel, the complete TLS handshake happens in kernel space. We have all private keys generated after the installation and they never leave the kernel space. We are using standard TLS, so no outside magic besides the industry standard TLS, and we use the KTLS component of the kernel, which is basically kernel TLS. It does the heavy work for doing encryption on each and every Linux host in a very efficient way, so also involving network cards, if the hardware is supported by the Linux kernel to offload TLS encryption as much as possible, so not doing heavy CPU work, which can be offloaded to a network card. Unencrypted traffic never leaves the kernel space, so basically user space components don't have to use TLS in the user space level, so you don't have to configure certificates because the TLS encryption and authentication will happen down in the kernel space, but we send the encrypted traffic there to the next host and the next host kernel driver will unencrypted and send to the user space process in a very transparent, but non-attackable way to your next application. And if your application already uses TLS, we have a basically a skip through checkpoint where basically you can blot want, encrypt, re-encrypt the TLS traffic again. We just use the policy enforcement and the handshake process down in the kernel space. Okay, so this socket, which basically a plain TCP socket, it gives us a user kernel level identity and only to those processes and only to those processes and not anymore, where you have described them with policies. Along the kernel space driver, the kernel module can't work alone, so as I mentioned in the first architecture diagram, we need a user space component, which is basically the driver, which sits on the host in the user space and communicates continuously with our kernel driver in a secure way to collect metadata about the processes that you are trying to target with the kernel. And for example, we have connectors for Docker, we have connectors for Kubernetes, and first of all, we have connectors for plain processes that are running on the bare host, so you don't have to use orchestration environments, so it's not a must, but we support them. So, as I mentioned, since we are running a kernel driver there, it works on orchestration drivers, which run on the Linux kernel, normal and Kubernetes, you name it, but we also support plain processes. So, and it's fully transparent, you don't have to rebuild and reuse your sorry, rebuild and restart or redeploy your application, since we override the TCP protocol inside the kernel to give TLS connection to your TCP socket. Okay, how we achieve identity and access policies there. Again, we are not using something new, but we are using piggybacking on SPIFI IDs, so we bake SPIFI IDs into the certificates of your applications. Each and every application has its own SPIFI ID. One application can have multiple identities, so multiple SPIFI IDs through different policies that you describe, so it can be that your application talks with GitHub with one identity and talks to your backend application with another identity. You can describe it easily in our YAML-based policies in Camblet, and all those SPIFI IDs are present in those certificates. Identities are defined through metadata selectors, so it's very easy to create a group of perfect applications with these kind of policies that you can describe in Camblet, I will show you later on. And you can include metadata from environment-specific elements like Kubernetes labels or local tags or things like that. Okay, we need service discovery in Camblet to make it possible to describe applications that you would like to connect from client applications. So service discovery helps basically the discovery of services that your client applications are trying to connect. So basically these are the server applications. Since we are on the kernel level, we know only IP addresses, so somehow we need to translate IP addresses back to application names or host names as you wish. So since people understand host names better and machines understand IP addresses better, so we need to do a mapping. So this provides us some DNS type functionality in kernel space. It defines which works as a part of the system, but you don't need to define SPIFI IDs here. This is only for resolving IP addresses. This is currently the user's responsibility to describe the system, but automatic connectors like for Docker swarm and Kubernetes are in the making because Docker and Kubernetes already provides all the information that we need. We just need to pull down that information. Since Camblet is a young project and currently we are trying to find the most easiest way to do that, so it's not implemented yet, but in the books. How do I use Camblet? As I mentioned, it's pretty easy to install. We have a website where you can find i or one line and install. You need to install Camblet on each and every host that you would like to involve in the zero trust data plane that Camblet defines through the policies. If you install it, as I mentioned, it will install a kernel module, compile it onto the target machine directly and sign it with the DKMS key. So you have a fully open source kernel module running on your machine that you can check the code and install it transparent. And also the installation installs the kernel agent, the modules agent, which runs in user space in one instance on each and every node. After installation, you need to write and distribute your policies, which I mentioned, and I will show you in a short demo, I'm just playing YAML files, and also you need to distribute your service discovery files now, but on later on, when we have the Kubernetes operator and connector that will do this automatically, it won't be a task anymore. Okay, so it's a demo time. I will go to my terminal. And here I have a terminal, which is, which consists of four windows. And we'll show different things parallel. So first of all, this is an Ubuntu machine, nothing special. Only special thing that Camblet is already installed in this machine. And I will show two different scenarios here. One which is running on the bare host, and the other one is running in Kubernetes. On the bare host, I will run an Nginx server, the plain Nginx installation, which returns index.htm on the root, and I will attack it with curl. I mean, get the code with curl. Okay, so first of all, I will do an, sorry, I will do an NGREP on the, a network rep. So you can see what is happening basically. I will start Nginx. Okay. And I will show you my simple policy here. I have a policy file already prepared because we have a short demo time only. And this is all commented out. So it just means that currently Camblet is installed, but it's not active. So since we have no selectors defined, it will not intercept any kind of traffic. Okay. I will hit the Nginx server that I'm running. And in the network rep, you should see that it's running through plain text. Yeah. I just got the return from curl localhost 8000. And this is the plain HTML document. Welcome to Nginx. And as you can see, the whole traffic went in plain text. So the curl client opened Nginx port there. It executed a plain text HTTP request. And the Nginx server from port 8000 returned to the curl client, the index HTML file in plain text. Okay. Let's do some magic there and try to encrypt this traffic. What I'm doing is I'm commenting out the selector for Nginx and see what happens. What should happen here is that Camblet already took the Nginx port. And if I try to HTTP get it again, it won't work. Why is that? Because Nginx now is on MTLS, but curl isn't. Since it isn't described by all policy. What we would like to do is that they both should communicate on MTLS together. I can show you. Yeah. So as you can see, if I open the Nginx port with open SSL as client, we already had a handshake, but since we couldn't provide any certificates, since Nginx wants to have MTLS already, as Martin described in the last way, the connection closes. Okay. So go to the policy file and create a selector also for curl. As you can see, the selector is very simple. We are having a names text, which you can find the documentation. I have a process name, which is curl. And it will Camblet will find all processes which are called curl and provide them MTLS. We have a workload ID for curl. It's called curl and simple. We have a strict MTLS mode and all those spiffy IDs, which is spiffy and or default Ruslan main and also for Nginx. Both of them are having allowed spiffy IDs. This means that the spiffy ID check is bidirectional. So also Nginx checks that curl wants to communicate with it and also curl is checking that is communicating with Nginx. Let's see if it works. Check and grab. Yeah. We got back the index HTML. And as you can see in Nginx, the whole traffic is mumble jumble. So it's encrypted now with MTLS. But as you can see, I used simple plain localhost. So if I make it more clear, so this is not HTTPS, but simple HTTP. But behind the scenes with Camblet, it got transformed to HTTPS through TLS. And we got back the file. In the policy file, we can do other interesting things. For example, in the upper part, I can show you that it works also in Kubernetes. I'm having a word and an Alpine pod. I will connect to the word pod from the Alpine pod with the same curl that I was using here. Okay. I'm commenting out some stuff from the policy file. Since I have two new components, I need to comment out the last two components that I was saved there. This is a selector for Alpine. It will provide, find the curl process in my Alpine container. It will give you a workload ID called Kubernetes curl and do a strict MTLS handshake with the allows PFI to Kubernetes world, which is the other component, which is vault in the vault container, in the world pod, having a certificate with the workload ID, Spiffy ID Kubernetes world, and the connection is still strict MTLS tracking and the Spiffy ID, it allows to itself is curl. Okay. Let's save this policy. And if I go to the Alpine pod, you will see I have a curl there. And let's try to check what is in the world. What, how is world doing on the past? Oops. I'm having some issues. Okay. I'm back. Now it's there. Okay. So as you can see, I was hitting again a plain traffic, a plain HTTP endpoint with curl. Oops. Sorry. I wrote this and it's not working. Okay. With HTTP, it's working again. So as you can see, I hit a plain HTTP endpoint from an Alpine container to another vault container, which by default doesn't have any certificates set up by itself. As you can see, it's a vault instance. And as you can see, it's, it's, it's the dev vault instance, listening with the basic one area config, and it doesn't have any kind of certificates set up. But we still got with engrap, encrypted traffic, since cumlet selectors and providing of TLS certificates also work through Kubernetes. And I think basically that was my demo. And also my slides. I will suggest you to check out a template on GitHub, Cisco OpenCamblet, and also on the Cabinet IO side where you can find the installer and the documentation. And if you have any questions, please ask them now. And that was it. Okay. In the Q&A, I can see one question. Is Camblet open source? Yeah, it's open source. As I mentioned, it's on GitHub, Cisco open, Cisco dash open Camblet. What is the trust on such assumption? HostCamblet is trusted to be not compromised. And there is no privilege escalation by container, for example. Yeah. Yes. Since we are running in Kernel space, I think it's a, it's a very interesting question. But since we are running in Kernel space, yes, the kernel doesn't can't be compromised. This is an assumption by us. And also it's an it's an upset assumption by us that since we are open source, you have the chance to verify that we are not injecting any kind of suspicious code to your, to your kernel. And the other thing is that basically, you have to know which, what kind of processes are running on your kernel. So it's a good time to browse through all your VMs and check what kind of processes you are running. I think a lot of infra teams know, but a lot, a lot of infra teams doesn't know how many interesting processes are there from unattended updates, for example, on Ubuntu, a lot of people don't know if they are running there or not. So Camblet can give you a good idea what kind of processes you are running since the locks that Camblet emits will go through all TCP connections that are going in and out from your system. So maybe it's a good feature that we could do a network map based on Camblet locks later on. We share, okay. We share this demo code. It's very cool. And I want to test it locally and show it to my team. Yes. The demo code, the policies are not yet on GitHub, but I will share it. I will put a link to the readme of the repo. Otherwise, the whole stuff is open source. Is this contributing to Camblet? Yes. We are working at Cisco and we did Camblet. So the answer is yes. Is TCP specific solution or is it also applicable to Qwik, UDP or Unix domain socket communication? Currently, it is TCP specific. We already know how to make it UDP compatible as well. So since Qwik is using UDP heavily, probably we need to test it there and find the solution for the first part of the second question. So we'll make it Qwik compatible. So UDP is in the making. Currently, it is TCP specific. Yeah. So I will share the codes as quick as I can on the Camblet page. But in the documentation, you can find cool examples like this. And also in the samples of the agent code. So I suggest to go through that in the meantime. I think that was all. Yeah. Thank you, everyone, just to add one little sentence. So yes, Camblet is implemented within Cisco. We've started the project and it is actually just starting. So it is in its early phases. You can expect some bugs and some interesting behaviors, maybe, hopefully not. But you can support us by going on GitHub, give us a star, try it out locally, run it in your dev environment, ask questions, open an issue on GitHub, maybe even fix some issues and submit a PR. So we are happy to receive any kind of contributions because we just want to make this project get started. And it would help us a lot. Otherwise, thank you. Thank you. I don't know, maybe Roy can answer this question, but you can always contact us on GitHub that may be the easiest way to do it. I think we, that is live. We have a team at Camblet.io, email address as well. But Roy, if you want to answer it. Yes. Yeah. Hi. Thanks, everybody. So I was actually a fly on the wall. I'm in the marketing group at Outshift. To your question, yes, you can reach out to us as a follow up. If I know who the person asked, if you have a specific question, we can always reach out to you, Alfred, right? So I think if you're able to share email ID, we can always reach out with the specific question and the person who can answer that. So yeah, that's, I think, I hope that addresses the question, Alfred. Glad to reach out to you. Thanks again. Yeah. Yeah. In the, in the read me of the repos, you can find links to Slack as I think, and also email addresses. So, but we will double check and put everything into the read me with the examples as well. All right. Well, thank you so much, Martin and Nanda for your time today. And thank you everyone for joining us. As a reminder, this recording will be on the Linux Foundation's YouTube page later today. We hope you join us for future webinars. Have a wonderful day. Thank you.


So, and the idea is that some share of the population that is at a disadvantage migrates in response to the rural urban breakdown of population that is advantaged. So there's a kind of differential in, in perception at least in terms of economic conditions in this case, but it's broader than that. So if a start curve is rural urban divide, the more people will affect it and the more migration there will be. So that's the bottom line, right? The model in spirit is compatible with the hairs to their approach, this notion that people migrate because of an expectation of improving their life. The paper has kind of a model that is developed based on a physical analogy. I'm not going to get into that for this presentation, but it is essentially a model that has a certain level of structure and can be interpreted. Now, so the basics of the approach. So the basic premise of the approach is that there is a cut-off income level separating the poor from the non-poor when it comes to the incentive to migrate. So if you are below the moderate poverty line, you're in that category that would like to be above the moderate poverty line. And so it depends the breakdown of rural urban population in these two categories. So we will be operating with shares of the national population that are above or below the poverty line, both rural and urban areas, and dealing with net migration rates between rural and urban areas. So the rest is best explained graphically. So I'll try to walk you through a little bit of the thinking behind this paper. So here we have on the x-axis a percent of urban population in the total population, on the y-axis a percent of the rural population in the total population. And we start by mapping the share of people below the moderate poverty line. So this is for a hypothetical country. You have 15 percent of the people are urban poor and 50 percent are rural poor. So this diagonal line is the eyes of poverty line. So essentially, if you migrate in the short term, you're just moving along this line. And you're migrating per se does not change your income level. So the act of migration just moves you along this line. So if you're going from rural to urban, you'll be moving down that diagonal. Now we plot the share of a population that is above that poverty level, and there are two, I mean the rural and urban breakdown. So this schematic representation is one where the higher income population is mostly urban, not very rural, right? So you have that essentially in urban areas income, the likelihood of being poor in urban areas is lower than that in rural areas based on this breakdown. Now this diagonal line is the total population line. So you're adding these two vectors and essentially you get whatever combination you have over time, you end up on that diagonal when you add up these two vectors, right? So the, and this is the rural urban breakdown of the country. So in this case you have that the country is 45 percent urban and 55 percent rural, right? Now the basic, and here what we're trying to do is, I'm not sure how well people can see from the back, but the basic analogy that we're trying to make is that the more these two vectors are aligned, the lower the incentive to migrate. And so for example if you're, if the situation is like this where you have the same kind of distribution among the poor between rural and urban, but among the better off, it's more along that diagonal, the effect there is that essentially your likelihood of being, if you're poor moving to an urban area, the likelihood of being poor is exactly the same, you know, kind of abstracting from the fact that it depends on skills and a number of different things, but in a purely kind of statistical manner if you want, right? So this notion that if you move from a rural area to an urban area, you're going to improve your likelihood, the expectation is pretty low. Whereas in a situation like this, in fact the proportion of people that are poor in urban areas is lower. So what matters is this angle theta and the size of, you know, how many poor you have, are distributed between rural and urban areas and similarly in terms of those above the poverty line. So migration as I mentioned just moves you along this diagonal. So it just changes the rural-urban distribution of the poor among the rich if nobody has migrated, then that vector is unchanged. Now what we see is that for example the angle theta, it's kind of the effect of migration if you think of an economic equilibrium perspective in terms of wages, it's narrowing that gap and effectively it becomes less appealing to move to urban areas as the more people you have that are moving there but haven't yet shifted out of poverty. So you're increasing the number of urban poor. And now however in the longer term it's clearly more complicated in that, right? I mean there are dynamics of development that make it more difficult to say exactly what's going to happen. So for example in the longer term you will have that the urban, the people who are above the poverty line in urban areas will in fact absorb the rural people who migrated. So you're moving off of that isopoverty diagonal line here and so you're changing the nature of the incentives to migrate or not. So and here also in the longer term you have another kind of complication which is there's a natural rate of urban increase linked to differentials in mortality rates between rural areas and urban areas. So you have to factor in once you go into the empirical side, you have to factor that in. But essentially you have a component that is due to natural migration, natural growth rates, differentials between urban areas and rural areas and then something that is urbanization due to migration. Now up on the top in summary is what comes out of the model. You can estimate the migration rate as essentially the cross product of those two vectors. And in terms of the magnitude of the size of the population that is below the poverty line, the magnitude of the size of the population above the poverty line H. And then this angle that shows how much they express a difference. The sign of the angle theta, basically that angle, if the angle is zero then it means that the incentive to migrate is zero because your chances of exiting poverty are basically very low. If it's a big angle then it says that really an urban condition gives you that possibility to move out of poverty. So as I said, I mean for this kind of big report that is meant to try and be a little bit global, we needed something where we had data. And in fact for this below income in rural and urban areas and above the poverty line in rural and urban areas, we have that data thanks to EFA who kindly shared it last year for a report that we did and then the angle between those two vector diseases to calculate. So in fact we can think of this measure as an incentive to migrate. And the parameter A, which you can then estimate, represents the propensity to migrate. So let's say a larger L, meaning larger proportional population that is poor, means that they will try to improve their livelihoods potentially by migrating. A larger H implies a certain capacity to absorb people coming in, meaning that there is a breadth of wealth so that you can try and exit poverty, possibly by going to urban areas if the distribution is in that direction. And as I mentioned the theta and the sine of theta means unequal distributions of poor and non-poor between rural areas and urban areas. So at the core I mean this is a little bit, it's a push-pull narrative without saying what's push and what's pull. It's all determined endogenously, it's very basic, but it does capture this nuance of the differentials. So putting real data to the graphical approach, this is data for China. Up here is China in 1990 and so a large part of the population was below the moderate poverty line of $3.10 a day. And a lot of it was a large number that were rural, 70%, 15% were urban. And then you fast forward to 2011, here at the bottom, period of exceptional development in China. You have a much smaller share of poor and still predominantly rural. And I think what's interesting is in fact this incentive to migrate that we calculate in terms of that angle and how it interacts hasn't changed that much. So you've had a lot of migration, but this incentive to migrate has not gone away, right? It hasn't balanced essentially what is the labor market. Now looking at another example, these graphs we can do for 70 countries pretty much, right? And so this is instead the case of India. Similarly, starting in the 1990s, going to 2012, and we see that this differential in terms of distribution between rural and urban areas, poor and non-poor, it's much less stark. So for example, for China, what we see is that huge developments, huge changes, and the incentive to migrate kind of increased even though the rural part of the population was decreasing. And then slightly to decrease later as the population in rural areas is shrinking and the actual base of poverty in China is shrinking. In India, much lower incentive to migrate, we saw that it's less stark the difference between rural and urban areas in terms of distribution of the poor and non-poor. And but similarly, I mean this incentive to migrate goes up and then levels off and goes down, but still above what it was in 1994. And so despite very different development paths that China and India had, this incentive to migrate evolved in a similar way, right? So I think this is an interesting aspect of this measure that there are many ways in which the interaction between rural and urban areas can then affect the incentive to migrate. So but going from the incentives to the actual flows can estimate the propensity to migrate. So based on the fact that we have the data for kind of rural and urban poor and non-poor distribution, we can do that. The propensity to migrate essentially captures some cultural norms, bears to women migrating for educational purposes, the age profile of the population. It's younger people tend to have a higher propensity to migrate. So this is a very kind of preliminary empirical application using UN days of population data and DHS information on fertility. We basically calculated the migrant shares as a share of total population growth that is not due to natural population growth. So accounting for these differentials in growth between rural and urban areas. So this is a kind of very preliminary results. I just showed the results at the kind of continental level. You know, I mean, we can we can go below this, but it's that they're so preliminary that I think there wasn't much point in in presenting a boatload of results. But essentially what we have is for Asian countries and Latin American countries, we have significance in the in the co-efficient of this propensity to migrate different values, being in Latin American countries that has a higher propensity towards towards migration. The R square in Latin America is quite high. Actually, when one does a scatter plot, it's it's quite it is indeed quite quite linear. Part of it is that I mean, the propensity to migrate really only makes sense at the country level. Right. I mean, it's it is. So the issues that you can't really estimate at a country level. But for example, for the Asian countries, if you do just Southeast Asian countries, the R squared is is higher. It's like 0.45. I mean, which considering that you're only regressing on one variable, it's I was surprised. And for Sub-Saharan Africa, I mean, we get what would be I would say a counterintuitive result. I mean, there are two possibilities here. One is, well, you're doing it over a continent doesn't really make sense to talk about propensity to migrate. I mean, West Africa is very different from East Africa is very different from South Africa. So that's one aspect. The other is that you you could also be capturing the fact that being below the poverty line in Africa may also mean being much below the poverty line, meaning that you're in extreme poverty as opposed to another another contents where being below the moderate poverty line, you're still close to that. So you might not have the resources to to migrate. So you have a lower propensity. So clearly, as I said, I mean, the propensity to migrate should be estimated at the country level or at least in homogeneous regions. So we're just starting off the constraint here is that we have all the data of poverty, but we're still working on on kind of sorting out the migration rates by country. So we only have a small subset of countries for now. And also the paper in the paper, we extend the approach to also not just the poverty, but also access to education and health services. So there's a kind of formal derivation where it shows that you can you can do these as independent things in the estimation and independent, independent variables. With or without interaction terms, depending on the assumptions, wherever somebody migrates, somebody migrates for education. If that means that they're not migrating for economic reasons, then you don't have any interaction terms otherwise. You have a bunch of interaction terms that you have to estimate, which can be problematic given the limited size of the data set. So in terms of the advantages, I think I haven't gone into the details, but essentially the the parameters do have a structural relationship to the drivers. I mean, you're trying to separate out the the incentive linked to the economic economic conditions or access to services. Differential between role in urban areas from the actual propensity, which is tied to age profiles and cultural norms. And it tries to capture this kind of push-pull in a bit of a more continuous fashion. So it's in that tradition of the push-pull narrative, but I think it quantifies that in a way that is relatively simple. It can be mapped out for a large number of countries just to see what the incentive to migrate would be. I mean, that number is very easy to calculate once you have the data. As an extension, I mean, this can be extended beyond here. I just segmented into poor and non-poor. One could use quintiles, for example, and see, you can assume that the poorest of the poor don't have the resources to move, but the next up are looking at those in the fourth quintile, and you can still use this approach. It can be extended to thinking about migration from urban areas to rural areas and developed countries. I mean, it could introduce amenities in this approach. In terms of caveats, and here I'm nearly concluding, we have that there are essentially three sources of potential errors in estimating this model. One is while models of mis-specification, in this case, particularly omitted variables, since we just did, you know, very preliminary of what we had. But even if we factor in access to health and access to education, there could still be issues of mis-specification. One aspect is also having to define a threshold to distinguish between advantage and disadvantage in terms of access, be it to services, income, or education. So it may be that the threshold you choose is not reflective of the driver, right, in terms of what makes that migration decision that triggers it. And I think one aspect which is, I think, unresolvable is this notion of disentangling the natural growth rates we can do, but this reclassification of rural areas into urban areas, which is happening at considerable speed in many developing countries, that's something that we can't really address, at least for now. We don't have that capacity, and apparently it is quite important. And that is ending up in our migration estimate, migration number for a variable. And finally, I mean, we assume the propensity to migrate as a fixed parameter to be estimated, but in fact, it may not be stationary, right?  One can think of the Hukou system in China. Here, I mean, it's quite straightforward to separate out the propensity to migrate from migration costs. So it's something that I'm not too concerned about, but something that we haven't done yet. So to conclude, this is very much work in progress, driven by this need to do a global report on a relatively short time frame, where the focus is intended to be on rural migration. Different aspects, this would be only one small part of the report. We're interested in the feasibility of the approach presented here, this notion of introducing a measure of incentives to migrate, and possible other sources of data to improve the estimation, and suggestions on moving forward. Most welcome. Thank you.