Former President Goodluck Jonathan states that Nigeria's woes are traumatizing and confusion in a number of states' PDPS2 candidates emerge as winners in the parallel PDP governorship primaries. Well, this is Plus Politics and I am Mary Anacor. Former President Goodluck Jonathan has said the rising insecurity, poor economy and other vices bedeviling the nation were wasting mental health as most Nigerians have become traumatized by the happenings in the country. He deployed autism in schools and how it is compounding the prevailing security situation in Africa's most populous nation, Nigeria. The ex-president observed that most areas of the nation's health system needed to be upgraded to international standards. Well, joining us to have a conversation on this issue is Olawale Okuni, his Director-General of Nigeria Intervention Movement, NIM and Tanko UNICEF National Chairman of the National Conscience Party, NCP. Thank you very much, gentlemen, for joining us. Thank you very much. It's a pleasure to be here with you. Great. I'm going to start with you, Mr Okuni. You obviously work with an intervention movement and one of the first things that former President Goodluck Jonathan pointed to was the fact that the reason why we're having so many culture-related activities in schools is that these young persons have taken to drugs. So let's start with that. How did we get to this point where the young children, I mean, I have seen a group of young boys who, I think that video went viral, who were taking drugs and they were taking pills to get high. And a few minutes later, they were all just rolling in the mud and literally had lost their mind. A lot of people would point fingers at the home front. Some would say it's societal pressure. But hey, we're dealing with banditry, we're dealing with causticism and we're dealing with drug abuse. This is a portfolio of issues. But how did we get here? Thank you. It's really unfortunate that the country has gone into this abyss. It's really very sad that people who want happiness, human beings naturally want happiness when we are drugged. And the conditions are tough. At home front, the parents cannot cope anymore with sustaining or getting means of livelihood for their children. And so people want just an escape route. People just want a route out of the traumatizing situation that we have found ourselves. And so people resort to drugs to find some circle. Where there is peer pressure, peer pressure and the rest. But then I mean, for me, I think that people just want some comforts of solace just to make themselves and then they get introduced to drugs. The parents could no longer forge to take care of their children and then the children are more comfortable in the midst of their peers. I mean, some of them who are well-to-do or from well-to-do homes. So these are factors. This is a cycle that is leading us to a drug, you know, this very dangerous situation of having to abuse drugs. So I think President Donatan is not really out of place when he talked about this. The situation of the country is quite traumatizing. And then people are looking for escape routes which we have. And so people resort to drugs. People resort to group, peer pressure and so on and so forth. So that's my take. It's unfortunate. It's really a need. Even older people are into drugs. Even when you see the state of insecurity, those who are very much engaged in this resort to drug, one way or the other. So we really have to do something about our economy. We need to do something. If we're able to do something about our economy, that will get reduced. Thank you. Okay. Let's continue to... I'm building up to where we're going to. Now, you have mentioned that even the guys that are involved now, like I said at the beginning, we have banditry, we have kidnapping, we have burqa haram and the rest of it. And at its core is drug abuse. Now, the NDLA recently had proposed that there's going to be a drug test of sorts for people who are preparing to get into marriage and that it might help to ascertain the mental state of people who want to get married to avoid whatever kinds of actions that might be detrimental to that union. But of course, there are also people who kick against it. Should we wait till it's married? There have been people who have also proposed that we have to test our politicians, our police officers, and not just drug tests, but also to check their mental well-being to be sure that these people are fit for offices. But in terms of these drug tests, alcohol tests should also be part of it because we have seen police officers on duty and some of them were under the influence. So, should we wait till people want to get married to have these tests? Do we even necessarily have to have it as a rule of law of sorts? Well, I think if this writing is done, which is to solve our economic problem, we might overcome a lot of these problems. If we are able to provide for the citizens, if we are able to arrange ourselves well enough, we may be able to overcome this. How do you deal with the economy? I'm sorry to speak over you. How do we deal with the economy when we are facing these hydro-headed monsters called insecurity? I mean, on every front, whether it be militancy or Boko Haram or the bandits, farmer-herders clash, whether it be cultism in the South-South, I mean, how do you deal with the economy when insecurity is rife? How are you going to get businesses up and running if you are having these issues left, right, and sent? And don't forget the reason why the cost of living seems to be rising high and foodstuffs are now pretty expensive is because these farmers are unable to go to their farms and harvest their products. You know, in the safety of the day, they literally need to pay security officers to go with them so again, we know that insecurity is the basis of Nigeria's problems right now, but of course we have other problems. So how do you want to deal with the economy if you haven't dealt with insecurity? Is this not an offshoot? Yes, it is really, but they are intertwined with the economy and the security situation. But fundamentally, we need to deal with the state of our union to be able to address the problem of insecurity and our economic problems, the very terrible economic situation. The first thing to deal with for me is for Nigeria to build, to really structure in a way that we can have our money, cohesion and stability. If we are able to deal with our constitutional foundation, we can overcome the problem of insecurity to a large extent. And then from there, we will be able to deal with our economy and foster what you call economic prosperity. It's unfortunate that Nigeria has been structured in a way that it will not bring about prosperity. It will not even bring about peace, stability, or crisis. So you need to go back to the business. You will need to deal with how the Nigerian people engage. Nigerian people for once must be allowed to take ownership of the country, not that the tiny cattle of the ruling class will foist the constitutional structure that keeps making the people and servicing or serving them. So these are the problems where we are the tiny people holding the economy, the resources of the country at the job-la and then they are not going to let you. But isn't that the idea of government? Government is a handful of people leading the larger majority with the rulebook of sorts, which is the constitution in this regard. So except you know the fact that you said they will be holding Nigerians at the juggler. But of course the office of the citizen is also a very powerful office. Could it be that we Nigerians do not really understand the powers that come with that office, hence the reason why we still seem to be at the mercy of this tiny majority who we call our leaders? Yeah, the way politics is structured in Nigeria makes it impossible for the majority to be able to do anything meaningful, except by revolution. And that is why leaders of thought and conscience have been clamoring for constitutional the engineering of the country. The way it is told is that the ruling class will continue to make the common patrimony of the people. And that is the structure in life. In which case those who are in government and who control the state are super rich. Why the majority of the people are made power pass and beggars. And so the result of insecurity and drop if you want to even do the violence you look for certain reasons to help you. Those who are recruited into that must go by. So it is a foundational problem with Nigeria. If we need to solve the symptom of drug abuse and so on and so forth we must deal with our foundation. In which case the majority of Nigerians would have their wealth guaranteed under governors. Today people are their own. They make their roads, they make their bones, they make their legs, they make everything in government here in Nigeria is virtually absent in the life of people. And then you find the political class honoring the resources. And then you flip the majority of Nigerians in a dead body. So they will resort to anything. They will resort to their push to the works. I will come back to you Mr. Kuniyi. Let me go to Mr. Tanko Unisa who is on the phone. Mr. Unisa, just listening to the conversation we have been having. Mr. Kuniyi seems to be saying that government has failed the people. Former president is talking about the walls of Nigeria and how traumatizing it is for the average Nigerian. And I know that you live in Nigeria so you know all of the things that we have been experiencing lately. Aside from insecurity, the cost of living is rising high. We are facing an inflation of sorts. The Naira is deeping on a daily and of course you know we are also dealing with issues of cultism and children getting more and more into that whole of drug abuse. Where do we even start to deal with this issue? Because it seems like the plate of Mr. President and the federal government seems to be full. Like just like Walid has said earlier on we are facing a situation where in the country where the majority of Nigerians are still appointed with the way in which leadership is being propelled and that really generated a lot of questions to be asked. I was watching the other day a video by former minister of agriculture Sa'adu Ube. He was giving analysis of how we miss the point and then we find ourselves in this situation as it were. Economically, security wise and in terms of the unity of the countries. Interestingly he said he was a young minister at that time that it is very difficult to understand why we have to open our borders for importation of goods and services but why he was making those accession he was not supported because he felt he was speaking as a young person. But what I found interesting in that statement is this at that point in time we were able to identify the challenges that we have as a mission but up to today this is 34 years long down the line. We have not been able to extract a particular problem apart from the fact that we devalue our Naira we went ahead again to open our borders where we can take in goods and services but we were not producing anything and if you are a consumer nation obviously what you have is indebtedness and that is a situation where we find ourselves we have been saying for a very long time that governance has left the people the local government are not functioning very well the people who are supposed to go closer to the local government the impact of governance and so they let them follow open to insurgency so anybody can use them for any kind of social mafia. So what we find at the moment is failure of leadership to identify the system breakdown and trying to mend it unfortunately also we have a president who have not come through for the people maybe toward the last two years of his tenure he is trying to show his capacity but quite honestly it is a little bit too late but we can do one thing we can get the people to believe that there is a country and then we can still work together in trying to move and mend all the fences but as we are today we failed the people the government have failed the people woefully and we are only looking up to 2023 where the poor of impeccable character can be able to run for positions of power Mr. UNICEF it is interesting that you have to bring 2023 into the conversation but it is two years away from 2023 and we are still dealing with people being abducted on a daily basis I mean for these bandits it seems to become one thing for them because it is happening every week if not every day or every two days they are taking people and they are certain that monies will be paid for them to release these students but let's talk about people who have come up or that this whole insecurity has thrown up the likes of Sunday, Bohol, the likes of Sheikh Gumi, the likes of Namdi Khan who has been reawaken very loud even almost at the same level with the voices of those in power and the question one would ask is there is obviously a loophole and a leakage which has led to these voices becoming so powerful and yet we are unable to deal with the issue of insecurity for example we have had a Sheikh Gumi who has number one asked for amnesty for bandits he has also asked that the CBN at some point make available funds to give to these kidnappers to release students who were kidnapped he has also recently spoken about the fact that there has been a collusion between the army and these bandits and one would wonder who Sheikh Gumi is that he is saying all of these things and still walking free as opposed to an amnesty kind of who has been part of a group of people who have been prescribed several years ago and then we also have a Sunday, Bohol, who many have also frowned at some of the things that he has said but there has been a reason why these men have been thrown up in the system because of insecurity why does there seem to be a ping-pong attitude as to how to deal with insecurity and these men who are saying things that seem to be unnecessarily or rather insensitive, especially for a time like this look, let us be frank had it been that the government has been up and doing they've really been able to put pen to paper and say look, we want to work on the economy of this country we want to provide jobs we want to provide food on the table of every Nigerian we want to ensure that the country is secured and many people are seeing this thing being done on a daily basis there wouldn't have been any agitation by the likes of Nandekanu or the likes of Sunday, Bohol or even Chef Gumi who is speaking from an uncontrolled position I really don't understand how a clergyman will be speaking about abducting children and collecting money at the same time as justifying that situation to me is totally unacceptable and neither would I accept any idea from Nandekanu, editing and mobilizing people to be killed or our security apparatus like the policemen and all saying that they can go in, kill them attack them is unacceptable but all of these is gravitated towards the inability of the government to be able to deal with the issue ab initio, let me give you an example the situation that happened in Oyo happened in a village Iganga for example I'm sure that's the name of the village what really happened was that there are governors who have been using machineries using either full army or local militia in order to gain power they have armed these individuals with a lot of guns they can't retrieve these guns anymore now when the killing started people now started looking for respite and so what did they do they ended up in the hands of the same militia which the governors have financed and empowered to become their own security agent can you just imagine where is the police where is the army where is the NDSC where are the security agencies that's to show you because the government has failed in its responsibility to deal with these issues as they start before I go back I just want to push you further on something you're saying, I mean yes the box stops at the table of our governments federal or state or local government but our security agents have been over and over they've claimed that they do not know where these bandits are they've kept feeding us that story but then there's a Sheikh Gumi who has been able to go to these bandits again and again accompanied by security appraisers we have seen a video that has surfaced they're not the box here for me so again it makes us really question whatever it was going out it goes out with the security appraisers so obviously what it means is that our security people know where the bandits are so the question is if our security agents because I wanted to ask that question before you started talking if our security agents know where the bandits are what is the story that they're telling us and why should we believe that story now that we've seen videos of some of these security agents who are known bandits and killers and there are people who are also criticizing the fact that we're still calling them bandits that these are the people who are terrorizing our communities and they are terrorists so what is the duty of people like you and Mr Kuni who are supposed to be leaders of thought and people who are pushing for good governance why are we still sitting on our hands on this issue knowing that knowing what we know now is really lackadestical about this issue for us we're not in government I have not heard any position in governance since I started my struggle but the truth about it is that I've been a strong advocate of a negligent society I've been a strong advocate of a fair and equity society where every Nigerian has a right to play his business or aspire to be anybody in this country and we have remained consistent in that particular manner so coming back to your question with regard to the issue of identifying that our security agencies know where the bandits are that is the internal conspiracy that we are facing I've always said that there's an internal and external conspiracy against the Nigerian state and the Nigerian state is suffering from that particular internal and external conspiracy which has now been extrapolated and confirmed by Shibumi without his statement if the security agencies have been following Shibumi out to anywhere he's going then why couldn't they have organized themselves in getting rid of these particular people if not that there's a conspiracy against the state so I think Mr. President is not doing enough he has not put the right people in the right places and he has not been able to put his feet down to know exactly where the issue pinches but anyway the time is coming they were out only 2 years left every Nigerian should go out and register to vote you can say you will not register to vote register and vote not only for voting but bring out the best candidate not because of his money but because of his track record who can make changes in this society we don't have any other country if you like you want to piss Nigeria into 10 places the same situation we can prepare I will come back to this because you're really pulling my strings with the track record issue don't get me started on Mr. President but let me come back to you Mr. Lawale the issue of Mr. President and the federal government's strategy to handling this insecurity issue is on the lips of everybody many have accused Mr. President of double standards using a sledge hammer to kill an ant in the south east and of course playing kids gloves in the north and north central and of course the north west so just looking at what Mr. UNICEF has said that there seems to be a collusion this is not the first time we're hearing it even though Sheikh Gumi had to restate it and of course the army had said that what he was saying or rather they countered his statement that the farmer serving security official had also said this that there was some collusion at the time when we before this issue became as big as this at the time when we had the farmer-herder's clash T.Y. Dandrimer had raised the alarm about the fact that there was some form of collusion and now the federal government seems to only pay lip service to this issue and not acting as much as we would expect for them to handle and with all of the things that we're seeing play out what is left for the common Nigerian to do to get government to really get to work? I think we have a complex situation on our hand and then the state is very weak because it has lost a lot of ground in terms of legitimacy and popularity and so it cannot deal with insurgency effectively people today have resorted to self-help since government is not listening to the attitude and advocacy and then government have become increasingly popular and so that will generate tension and problems and people like Gumi have just been used because government is service weak they have no choice than to work with people like Gumi in the north why people like Namjikan and Sunday will be naturally suppressed because of what they are calling for which is sessions so to say so we need to deal with government I don't know where this government will be to deal with that we can't go to election this way if you go to election this way you are going to have the same result you dare not go to election it will produce a far more result because those who go into government they go into government because of the juice of governance money to serve themselves and government and politics will become the only thriving business in the country and then it is do or die it is politics of money bags and high speeder it is not politics of principle or service of value people go into politics because they want to make it they want to make big bucks and therefore when you leave politics to that state then you will have large people impoverished popularized and humanized and they will result in violence and that's why we have violence everywhere it is so the violent expression is some level of agitation higher level of agitation people have been talking and talking and the ruling class seem not to be listening so people have resulted to some violent method to draw attention but they are still not listening but they are still not listening so what do we do in closing what do we do the role of stakeholders what should stakeholders be doing now to salvage the economy the security what stakeholders have been doing is what they need to do stakeholders have been meeting and they have been drawing attention of government to the dickheads stakeholders with need just like the lc front is doing we need to facilitate the citizens driven people's driven national consultation and national constitution that's the only way the national assembly must be made immediately to use his powers on that section 4 to bring about a clause a clause of provision the 1999 constitution that cannot allow for a referendum of the Nigerian people the Nigerian people must take back ownership of their country what is foisted in 1999 is the military structure it's still a military constitution and then you have military pull off their military uniform and then put on the garb of that burden so nothing has changed and it will get worse if you go to election this way you must insist on a plan new people's constitution for the country in which case the Nigerian people will have to meet and say this is how we want to live together and then that will become the ground now we need to go unfortunately we're out of time a lot of it is of the NIM the national Nigerian intervention movement and Tango UNICEF is of the national conscience party thank you very much gentlemen for speaking with us I appreciate it alright well we'll take a short break and when we come back two winners emerge as flag bears in a number of skate pdp what's the right for winner we'll get to find out when we come back


The Bemidji boys hockey team is off to a respectable 7-6 start to their season. And while the Jacks have struggled on the road, they're 4-1 at the friendly confines of the BCA. And after 4 straight on the road, they return home tonight to take on Crookston. Scoreless after a period in this one, but the Jacks change that quickly. In the second off the missed, Ethan pick a shot. Ryan Pogue finds the back of the net, Bemidji goes up 1. Just under 4 minutes later, the Jacks strike again. Tanner Hammett lights the lamp from the face off dot from his first career and the adversity goal, Bemidji goes up 2. Then it's Alex Pollock's turn. The senior lights the lamp to give Bemidji the 3-0 lead. They'd score a total of 5 times in the period. They win the night taking down Crookston by a final of 7-0. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.


In today's video I want to go back in time a little bit, specifically around when the iPhone 12 Pro launched and talk about the LiDAR scanner. Now for those of you guys that are not sure what that is, LiDAR stands for light detection and ranging and here's a snippet from the keynote event explaining what the LiDAR scanner is. LiDAR stands for light detection and ranging and it measures how long it takes light to reach an object and reflect back. We've adopted this technology for iPhone and with the machine learning and depth frameworks of iOS 14, iPhone understands the world around you and builds a precise depth map of the scene. It enables object and room scanning, photo and video effects, and precise placement of AR objects. LiDAR makes iPhone 12 Pro a powerful device for delivering instant AR and unlocking endless opportunities in apps. The custom designed LiDAR scanner puts advanced depth mapping technology in your pocket. You can now take a night mode portrait and unlock a new world of possibilities for augmented reality. In this video I'm going to be covering my top five apps that utilize the LiDAR scanner. So let's jump straight in. Now the first one is using Apple's stock app called Measure.  So if you don't have a measuring tape this is really good. So for example I've got this bench here, let's go ahead and do that, there we go. Now that's telling me it's 91 centimetres. Now I want to see how accurate this is so I've got a measuring tape and I'm going to measure that myself. It says 90 which is very very close to what it says on the app so I'm quite impressed. Let me just do one more example. Now I will pick up the top of this fireplace, it's automatically detecting it, there we go it says 96 centimetres. So let me go ahead and measure this, 96 centimetres exact, that is very impressive. So now if I don't have my measuring tape with me I can be comfortable knowing that the Measure app will give me at least 95% accuracy in my measurements. Okay so the next one is IKEA Place. Now if you're looking to get some new furniture you can actually place some of that furniture in your room and your space to see what it would look like and you can reposition it. There's a lot of apps now doing this, you can even do this from the Amazon app on selected items but I just think this is a really cool way to see if the furniture you want to buy fits with your room, the core, the design, the colour scheme. So in here I'm just going to go and browse a specific category, let's say arm chairs and it would allow me to just place something so I'm going to go for this one, button on the right hand side, I can see where I would like to place it so let me put it down this side, there we go that looks really cool so you can move around, you can reposition yourself and that arm chair will stay in that position at all times and it looks so realistic as well just to see if it would match your colour scheme, if it matches the design that you're looking for, the size and it should show you an accurate size as well for the furniture so if I wanted to reposition it I can lift it up, move it around, turn it, move it back, tick it and then just drop it. Now this is really cool and you can just do this with a whole lot of furniture so I can go back, I can add another chair, let's say I'll take this one and I'll place that on this side, so now I have two pieces of furniture, this is really great so you definitely check this out and have a play around with it. Okay so this next one is one of my favourite ones, it's called canvas, now if you wanted to get a 3D rendering of your room then this is a really good app to do it and it's so accurate, it looks so cool, all you have to do is go in, start at the centre of the room and you need to scan each of the corners so start hitting scan, it will initialise and then literally you just move your phone up and down while it detects all areas of your space and just a reminder you have to stay in the same spot so all you have to do is go up and down while it detects how the space will be generated, I've got a lot of junk everywhere as I'm still in the process of moving home and setting everything up, once you go back to the original position you started at it should then generate the entire room and you can see getting close to closing the loop and there we go, hit done, now this could take a minute or so, you'll be amazed at how it looks and just by standing in the same spot I think it does an excellent job, there we go, look at that, that's my entire room, obviously there's some bits at the back that were hidden behind the island but for the most part it gives you a great idea of what the room looks like and of course you can actually select some of the options on the left hand side so enhanced scan, let's just take a look at that, you can move everything around in like a 3D point of view which is really cool, this is like a dollhouse view, you've got like a floor plan view, really cool and then you can even then go out and share this to whoever you'd like to and show them what the room looks like so that's a really cool app that I recommend using for the LiDAR scanner, next there's one here called magic plan, now this is great for contractors or builders that want to generate floor plans, if you're building a house or a property developer you might want to get accurate measurements by getting a design a lot quicker than manually getting a measuring tape and doing every inch of the floor in each room of the house, this is a quick way to do it so all I have to do is go ahead and click on new project, hit the plus and then now I'm going to scan with the camera so this will utilize the LiDAR scanner and I'll just call this my kitchen area so the camera will load up okay so I will just pick one corner, I don't need to tap anything, I need to point at the ceiling and it will give me indications with the green tick if I'm doing it accurately, so there it's picked up that side of the wall very cleanly, there we go, it's added that corner so now if I go there it's added another wall there by folding doors on there as well to the starting point and then hit done so there you go, not super accurate but for the most part it will give you a rough idea especially if you wanted to get an indication of what the floor plan would look like and it sets up the measurements for you so if you are going to be selling your property and you wanted to get the measurements of every room in your house this is a really quick and convenient way to do that so play around with this one check to see how accurate it is and to see if you can actually use it as an accurate way to sell your property okay so last but not least holocam, now this is just a fun one so what this does is this displays different types of text or emojis or pictures whatever you like in the air and it's very cool ways to just share on your social media so all you have to do is hit the plus button there at the bottom so you got some few options here you've got a squiggle line you've got the emojis you've got text and you've got photos from your gallery so let's go ahead now of course there's a premium version that would unlock all of the different emojis that you can add in the air but I'm just going to add a simple one like this like that I can move it around just by holding it position in different places I can get this to look a little bit different as well if I hit the filter button I can add some filters to it I can add a bit of a shadow to it on the floor increase the intensity of that and then I can start recording so I hit that big red button it's now recording and that emoji will stay in the same position wherever you go and this is a really cool way to just share to your social media for a little bit of fun you can walk through it and then you can come back and it will always be in that same position once you stop you can then share this to wherever you'd like to now if I go back I can actually add an animation by tapping on it and see what it looks like so I can do bounce for example and when you start recording you will see that it will start bouncing let's go ahead and add some text let's go for red one and then I'm just gonna add maybe some lines in blue hope you enjoyed this video guys make sure you like this video and also make sure to subscribe for more other cool iPhone tutorials so those are the top five apps that I've come across which are really good at utilizing the LiDAR scanner of course there's a whole bunch of apps that do this and even on the topic of just a bit of fun there's a lot of social media apps that are now utilizing augmented reality as well especially snapchat it's in a really good job at getting cool effects and there's some that you can have like flying birds around your living room as well so that's really cool so if there's anything else you guys want to know or if there's other apps you think you want to recommend to other users do go ahead and add a comment I'm interested to hear what other apps you've used using the LiDAR scanner and if you did like this video like I mentioned make sure to subscribe I've got really cool iPhone tutorials coming out in the near future which I know you guys will find useful hit the like button and I will catch you guys next time


It's been eight years since the Cast Lake Bina Panthers have been to the state tournament, but tonight the Panthers headed back to Minneapolis for the Class A quarterfinals in hopes of beginning that run to the elusive first state title. Panthers at the barn taking on the Trojans from Rushford Peterson. First half we go, Arnold King's Kingbird finds Noah De La Paz on the wing for three. He knocks it down for the Panthers. Second half now it's De La Paz again from the wing. He knocks down another tray. Cast Lake Bina clinging on to the lead. Michael Reyes driving for the Panthers. He finds an open Arnold Kingbird who puts to the fake on, then pulls up for the long two. Panthers up by three as time runs down, but Peyton Hot knocks down the three for the Trojans to send this one to overtime. As if that wasn't nail biting enough, Trojans send the game to a second overtime with this buzzer beater by Ben Ansel. Two overtime though, they were enough for the Panthers. Ethan Brown finds Raul Washington down low again. Cast Lake Bina regains the lead. Last ditch effort now for the Trojans. They need a miss free throw and a tip in, but they don't get it. Panthers are moving on as they knock out Rushford Peterson to class A quarter-final 63 to 61 for more from the barn. Here's Colin Talbert. Well it took an extra eight minutes and two buzzer beaters but Cast Lake Bina finally put away Rushford Peterson by two to advance to the class A semi-finals tomorrow afternoon. They made two buzzer beaters. I mean, we came in, we just, it's a brand new game each overtime hit to us and they just scored more than one. We just got back on defense as fast as we could and pretty we get a stop because the lives were sent into two overtime on buzzards so we just had to get a stop after that. That's all we were thinking about. We had a couple games this year, you know, and I mentioned it before as the game we came down here at Minneapolis and played Mayor Lutheran and then a couple Nevis games and then maybe one or two in the section where teams wanted to slow us down and they passed the ball around and they took their time they were real patient and we adjusted so we have experience in that. And like they've been doing all season long the big three Adelepaz, Kingburg and Jacobs combined for 40 of the 63 points for the Panthers and they're going to need a similar performance tomorrow afternoon in the semi-finals against Northwoods. Reporting from Lakeland's arena, Collin Talbert, Lakeland News. Thank you Collin. The state semi-finals are set. Cass Lake-Bean will take on the second seed Northwoods tomorrow at 2 p.m. at the Target Center. If you enjoyed this segment of Lakeland News please consider making a tax-deductible contribution to Lakeland PBS.


Hi, I'm Patrik. I'm the co-founder of Village Idiot Labs, which conducts security research in IoT and helps deliver content, including CTF, labs, so on and so forth, for IoT Village, which I am also a co-organizer of. I'm also a DEFCON26 black badge holder. Deal with it. My name is Zoltán Balázs and I'm the head of vulnerability research at Kujo AI. I developed the zombie browser toolkit, the hardware firewall bypass tool, malware analysis sandbox tester tool, played with some crappy IoT devices and my exploit code ended up running on 600,000 IP cameras. I invented the idea of encrypted exploit delivery. I'm the co-organizer of the hack-assuring meetup program committee member of the activity conference and volunteer at IoT Village. Are you into emulating IoT devices? Are you interested in the suffering of embedded device development? Have you ever debugged MIPS assembly? Do you want to build a lab for IoT devices? If yes, I recommend that you enjoy the show or you just stay for the MIPS, but still, please stay and you will have a learning opportunity to find zero days in your IoT devices. So, why are we doing this talk today? Well, IoT is cool and all and we already know about it, so what? Well, let's have a look at all these photos. As you can see, there's a lot of spaghetti wiring, there's book-ended devices everywhere, they take up a lot of space, and quite frankly, it's tough to just focus on the virtual aspect of attacking or conducting research of these devices. The physical parts are important, don't get me wrong, but that's going to be beyond the scope of this talk. So, we looked around and tried to find some tools which can fit our needs, but turned out there's none. We checked, for example, the Furman 9 and it's cool and awesome for vulnerability research purposes, but it's a bit bloated for our lab purposes. You can also find a lot of outdated and incorrect blog posts on how you can do this manually, but I promise you that it's really a pain. And we also checked the Armex, which is really, really cool. The only thing we missed was the MIPS support, so we figured let's add MIPS support to Armex and let the fun begin. And now, without further ado, let's review what we'll be discussing today. We'll dive into a precursor on architectures, we'll talk about the differences between virtualization and emulation, and then we'll dive right into the pain that is our new project, MIPSX. So, we'll be talking a little bit about the kernel, on the file system, and VRAM, key new virtual machines, Docker, and last, but certainly not least, a demo. As you know, there are many different CPU architectures out there in the world. The most common one is, I believe, the Intel one, which is a complex instruction set based CPU. It's mostly used in desktop servers. The second most common one is the ARM CPU architecture, which is based on risk, which means it's reduced instruction set. You can mostly find it in embedded devices, for example, smartphones, and now also in MacBooks. Our talk will deal with MIPSX. It's also a reduced one. You can find it in embedded devices, mostly, for example, in cheap Chinese IP cameras. Another famous architecture is the PowerPC one. Again, this is a reduced one. You can find it in embedded devices or in some very old Apple hardware.  You can find it in mostly in high-end servers or in embedded things. There are also a lot of different others, but that's not important for us right now. On this slide, you can see a sample when you run, for example, Hello World compiled for Intel system and how this looks like in GDB. And what's interesting to see here is the lot of registers, but still not that many. And if you look at these assembly instructions, these might be very familiar for you. Here, you can see a screenshot from debugging an ARM executable. As you can see now, a lot, lot more registers we have here, especially because it's a 64-bit architecture. And let's check the assembly instructions. For example, Alder, it's a very common one used in ARM and also the stack pointer. It's important or the PC, which is the program counter. Here's MIPS32 in assembly. Again, a lot of registers, as it is the case with the reduced instruction sets. And here you can see some not very known MISP assembly instructions, for example, UI at UI, things like that. I have no idea what these are doing, but soon we will figure out. And just for fun, I also created a screenshot of debugging a PowerPC binary. And here you can see, again, a lot of registers. And here are the PowerPC assembly instructions. I don't even try to spell these out. Virtualization versus emulation. So you're likely already very familiar and comfortable working in a hypervisor-based environment. Think virtual box, VMware, and even parallels for Mac. At a very high level, what's happening here is that your host computer is providing a hardware interface layer that is passed through to your guest VM, whether that's Windows or even some other Nix flavor. The expected behavior here is that your VM just boots into the kernel and provides you with a workable operating system. So the guest VM is effectively leveraging the host's CPU and other hardware resources through abstraction and translation layer. That's great for x86, x64-based architectures, which is pretty much the standard out there. But what about other architectures like ARM or MIPS? Well, we could use target CPU architecture development boards, something like a Raspberry Pi, but that's ARM-based. So what about MIPS boards? Well, these are extremely rare and difficult to find, and generally they're a discontinued product. So this is where emulation comes in. Emulation works by providing a Rosetta Stone-like instruction set of the target architecture to that of the host architecture. Now, I'm greatly oversimplifying things here, as this is quite a complex implementation. But fear not, we already have a solution available to us, and that is KeyMew. KeyMew supports many different CPU architectures, like ARM, MIPS, Spark, PowerPercy, even x86, x64, and various other boutiquey other architectures. And so what happens is it's working to provide a reliable, emulated BIOS, basic input-output system, in order to boot to your target architectures kernel. One gotcha you need to be aware of, though, is you can't just necessarily take a firmware kernel that's compiled for an IoT device and just right inside of KeyMew. Again, firmware relies on hardware and pinouts and buses and all those other channels, unless you're extremely customizing KeyMew in terms of its drivers, in terms of the way how it handles and emulates certain functions and capability, chances are it will not work. So which kernel should we be using? Well, if you check some blogs on firmware emulation, generally speaking, almost everyone's going to recommend to use BuildsRoot to build your kernel and host file system, which on the surface sounds great, most of the time. If you don't want to deal with this process, which can be very tedious and arduous, just check out the repository we have listed here on the slide. The individual has taken the time to actually compile some very old but pre-built Debian kernels and host file systems for Intel, ARM, and MIPS. What makes these Debian images great is that in contrast to Buildroom, once you actually run the kernel inside of KeyMew, you're able to change the app repository listing, for example, to archive.Debian.org, and then you can just install apps and binaries as you normally would.  So what makes things challenging in the kernel identification space here is to build an old kernel like you would see in an IoT device, which is generally kernel versions like 2.6 or perhaps even 3.x. You need to make sure you select all the right packages, any libraries, dependencies, crypto components, and legacy-shared objects from wherever the sources may be. Buildroot is going to try to get them as part of the build process, but if the repositories are no longer online, you need to hunt them down, and it's a very iterative and frustrating build process. So on the surface, Buildroot is great, but be forewarned. Here be dragons. If you want to compile your own kernel, well, you will see some errors during your journey into this. For example, let's use 12 years old Ubuntu to build an 11 years old Buildroot, and first thing you will notice that it cannot download some of the necessary packages, because the SSI connection will not work. That's kind of expected, and you can easily get around these things. Or you will see that some of the downloads and our websites are pretty slow when you download. You will see some errors, some of them are fatal, some of them are, I don't know, mortal. If you try to debug things, some stuff will not work out of the box, especially if you try to debug with some older versions of GDB, you will see some compile errors, missing tools, missing tools, another compiler errors, more errors, missing tools, you cannot debug errors, internal compiler error segmentation fault. That's kind of interesting. You will end up, as I mentioned, using very old, like 12 years old Ubuntu to build stuff will not work if you try to build an old kernel. You will see some errors, and some errors, and more, and more, and more. And yes, this was one of my favorites, because I never had any idea that to emulate something in MIPS, I would need ninjas. And clearly, there were no ninjas around. But at the end, yes, this will be a lot of frustration that you cannot compile your kernel, or it will just not run the way you expect it. Continuing down the kernel radical, we already know about buildroot and the pre-buildw images. But what's next? Well, in order to compile a MIPS kernel, you need the appropriate tool chain. What is a tool chain, you ask? Well, tool chains are the tools you need to compile things, e.g., CC, or even GCC, and there's a variety of others. In this case, we would be cross-compiling, so we need a cross-compile tool chain. Cross-compiling means that you are taking a source project and compiling it for the target architecture. So in this case, we would be compiling for MIPS, but on an Intel-based CPU. Cross-compiling comes with its own unique set of challenges, mainly it can be pretty buggy and sometimes painfully slow, particularly if you're doing it inside of Keynew. Linux kernel 2.6 is pretty common with quick-to-market IoT devices, think Amazon specials. This kernel was a very long-term and stable release, and it's been around for quite a while. Thus, if you want to emulate this device, you would have to compile your own old kernel, mainly kernel 2.6. If a newer MIPS kernel is okay in the 4.x category, then that's great, but chances are the binaries that were compiled for your target IoT device will not be compatible with that kernel version. So here we go again, there be dragons. So if you do go the build route, instead of the already provided Debian image, you better be prepared to build your own binaries as well.  And when you compile them, you also want them to be compiled statically, so they become a standalone and more universal binary that you can transplant between your devices that you're looking to research on.  On the building from scratch route, there are many options for building the kernel, the host file system, which houses the target architecture libraries, some binaries, the compilers, all that other fun stuff, and even your standalone static files. The short list of toolchains out there include build route naturally, open WRT, which is a common and very popular platform for open WRT OS compilation. There's cross tool NG, there's muscle, there's Docker cross and Debian cross tools. During our journey, and after much trial and error, we landed on build route being the best option for the custom kernel as well as the host file system. And the muscle C library was best for compiling our static binaries. But after some weekends spent on this, you will be created with these nice logins. And finally, you can see that, hey, now I'm able to emulate some stuff on their mix. You just need some development environments for this, like five different versions of you going to end the colleagues to do that. Easy peasy. Single binary versus full by system emulation. So even though so far our talk has been focused on full system emulation, you can actually just run a single binary with the help of key new user emulation. The catch 22 here, however, is that if you're running a dynamically compiled binary, you'll need to preload them so that key new knows where to point to.  On the screen here, you'll see the following commands that you can both run and even use to start compiling binaries on your Debian x86 64 based operating system. Also, our friend Maria from Azaria Labs has an excellent write up on how to get started using ARM inside of key new. This serves as well since the process will be nearly identical except for MIPS. And if you follow all these instructions, then as you can see, you can run your MIPS binary from an Intel based operating system just by using the QMU user land tools. Unfortunately, if it's a dynamically linked one and not a static one by default, it will not run. But we are used to this. Luckily, there are some easy fixes how you can correct these. And after that, you can run even dynamically linked binaries from a different architecture by using the QMU emulation. File systems. So not all binaries are created equally MIPS isn't necessarily MIPS across the board. So tying back to one of our previous talking points about CPU architectures, there's a few different flavors of MIPS. So we have MIPS one, which is the first generation registered to register architecture generally contains 32 bits of data types. We've got MIPS two, which is focused on increasing shared memory, multiprocessing still uses 32 bit data types. We then move forward to MIPS three, which is a backwards compatible extension of MIPS two, but also features 64 bit data types. Then we've got MIPS four and five, which are just super sets of MIPS three, which are obviously backwards compatible with previous versions as well. Then we've got MIPS 32 and MIPS 64 self explanatory. Then we've also got micro MIPS, which is a super set of MIPS 32 and 64, and is the only form of architecture that supports code compression and works with 1632 and 64 bit code data sets. Cross compiling, which is what we spoke about earlier, is going to be necessary and very important in this case. Sadly, most IoT devices don't follow a particular standard and it's up to each manufacturer to figure out what architecture they want to run. From our perspective then, that means you're going to want to compile a whole crap ton of the same binary except for the different variations of MIPS architectures. Another consideration is that we will need to chroot the target IoT firmware file system. What's happening here is chroot is an operation that changes the apparent root directory for the currently running process and any subsequent children that they may spawn. Why this is important is that when it comes to full system emulation, dynamically compiled binaries will search for kernel library specific shared code, which is always, always, always provided on the actual device. So what do we do in the virtual emulated perspective? Well, we'll have to copy all of these files across to our team UVM, and then chroot to the guest file system, and then voila, everything in theory should work. Persistence of a file system pretty much just affects how you want to do your workflow when it comes to IoT research. If you plan on modifying any contents of the virtual file system, you probably don't want it to be persistent. So non persistent. If you plan to simply throw everything you can against it and just reset back to a known good config, this kind of acts like a snapshot feature, if you will, if you're familiar with traditional virtual machine software like VMware, virtual box, KDM, etc. Non-voluntile RAM embedded devices have to have the ability to retain critical configuration data beyond the former file itself. This will help the device survive an upgrade, a reboot, a power failure, or even the occasional drop off a table. NV-RAM is typically used to store configuration data, credentials, manufacture information, default configs for certain services. A simple example would be if you were to log into your home Wi-Fi router and tell it, hey, here is my SSID, here's the username I want to use, here's the password, MAC address filtering, port filtering, any of that fun stuff. Well, when you hit save, what actually is happening on the back end is that information is being saved to NV-RAM versus a database. Where this causes issues for security research is if the binary you're trying to assess does any form of interaction with NV-RAM the values probably won't be found and that binary is going to crash.  This can be a very, very frustrating process. So it becomes very much so a trial and error activity to figure out what is your binary trying to look for and then basically use NV-RAM Faker to simulate that value set. Just get the bare minimums in place so that it will run. KEMU, KEMU, KEMU. We've used this term quite a bit now and we did cut on what it is. So just to reiterate KEMU is a nice little architecture emulation program. It has been around for a number of years now. You can do both hardware emulation as well as user level process emulation. For the purposes of MIPSX we are more interested in the hardware emulation. So, again, as I spoke about earlier, we're all used to virtualization tools like the M-Ware, VirtualBox, KVM, Parallels, etc. and how they're set up and allow us to interact with the guest operating system residing in them. KEMU doesn't behave nearly as friendly or as nicely, particularly when it comes to networking. On that, KEMU has two networking components. The first being the virtual network device, so a PCI network card for the guest or VM, and second being the network backend that interacts with this virtual NIC, aka interacts with your host network and conducts or provides pass-through to your host network. Why this is important is because PING, for example, does not work out of the box. TCP and UDP will, provided you actually expose those ports from the guest OS to your host. A typical workaround we've ended up using is a TAP interface between our host NIC and the KEMU NIC. Now, this sounds easy on the surface, but definitely causes a myriad of issues and makes troubleshooting super fun and complicated. Note the eye roll here. When it comes to stability, think about what happens if your binary crash is inside of the KEMU VM. What's happening on your host? What's happening inside the guest file system? Where are the logs, the dumps, any of that fun stuff being generated? And how do you get them out of the virtual file system? What if the binary crashing causes a reboot? But that reboot ends up spinning the guest OS, but your CH rooted inside of there. Okay. How do you diagnose where that went wrong? Did you have a script to automate your CH root inside of that guest file system? Hopefully. NVRAN. So we've talked about this. We're going to use NV on Faker, and we're going to simulate some of the value pairs that it's looking for. That's great. But what about consideration for like the shared objects in the shared libraries that also have values that come or are from being set in the NVRAN? Accessibility of the guest, let alone the services inside of that guest. We need ports to be exposed. We can SSH through the KEMU guest OS, and that's great. But what about finding other services that are running on that host?  Debugging, using GDB server is probably your best bet, and simplest option for reviewing the binary crashes inside of the KEMU VM. But what do you do for more dynamic interaction for export development? In such cases for buffer overslows, for example. Another consideration is something really neat you can do with KEMU is tap into the kernel itself. How practical is this? Well, you tell me, what level of experience do you have with kernel exploitation from a binary? For our lab purposes, we also created a ducker-based version of MIPSX, but luckily before this presentation got recorded, Chomil also created his own version of RMIX in ducker. So right now, it works really, really nice.  First of all, you have your host machine, and in that you have your docker container, which will run QMU in our emulation environment. And this will run our host kernel and FI system, which will match the CPU architecture of the firmware you want to emulate, whether it's, for example, MIPS Big Endian or Little Endian or whatever you want. And inside that, you will run your Siege-Rooted IoT firmware with the rootfsh copied from the IoT device.  And the host kernel and FI system runs your SSH server and GDB server and everything you need for research purposes. And basically, that's all you need. What makes this really, really fun if you want to debug things, because it's sometimes very hard to find where the issue is, or sometimes it's even hard to figure out in which terminal am I at the moment. Is this the host machine, the docker container QMU Siege-Rooted environment? It's a lot of fun. I can promise you that. And now, let me show you how MIPS X works in the latest docker environment. First, let's start the docker container. Then just log in to our docker shell. With the launcher, we can start this eminent IP camera, which is a MIPS-based device. So this will start the MIPS little and the host FI system with the kernel and the basic most FI system, which will have SSH and all the debugging stuff we need. Then we SSH into this QMU and start the CH-Rooted firmware IoT environment. You will see a lot of different errors. Whenever you try to emulate something, usually it's some missing hardware or some other issue. As you can see now, we are in the MIPS CPU architecture. And what's fun that you never know what is basically a real error or what is not a real error. But here, you can see the different services running like telnetd. So let's open another docker shell and from that, let's GDP into this demon process. And as you can see, GDP nicely starts. And now, we have full debug access to the MIPS environment and to the binaries, which can be our target. So from now on, we can start fuzzing it or whatever we want to do. So what's next for MIPSX? Well, we plan to continue on refining the NB RAM abilities in terms of identifying values that it's looking for and helping you generate a list. We want to develop a CI CD model in terms of letting you identify custom firmware that you want to build and auto deploy that into the MIPSX framework so that it just stands up your guest VM as quickly as possible. So that's our next steps. But there's also profit in this, right? And by profit, we mean paying it forward to the security community. We continue to drive positive momentum in bug bounty. And effectively, at the end of the day, it's about putting pressure on the vendors to help improve and make secure code and secure systems development. This project is open source, which means anyone can contribute, anyone with an idea can throw it in there and we can talk about, you know, taking this to the next level. That's what would mean by profit, helping everyone do good in the future. And if you want, you can check out our repository where you can find prebuilt VM and also our Docker version of MIPSX. And also, if you want to build your own host file system, then we have some scripts which can help you in creating our MIPSX compatible host file system. So that's all folks. Thank you for your attention.


Interpol and Department of Foreign Affairs and International Trade Canada have partnered on several excellent crime-fighting initiatives. Recently, on a human-smuggling priority of debates in Southeast Asia, Interpol had the ability to conduct a train-to-trainer to make police officers and law enforcement officers as well as customs officials cognizant of Interpol's tools and services, as well as have the ability to deliver an operation on time with all of the skills and competencies required. Thanks to DEFATE, we now had 15 police officers who were trained to a standard recognized by IPSG here in Lyon. Soon after, we conducted numerous operation stops utilizing these freshly trained officers, as well as partnering with the NCBs in Southeast Asia, and it was a very, very successful operation. It was the first time in Interpol's history where multiple operation stops were conducted at the same time, and now these officers have returned back to their respective regions, countries, and police agencies and have that ability to continue conducting such operations by using Interpol's tools and services.


Hi there, my friend and friends. I recently came across this code pen that we can see right here, and it's from Alvaro Montoro. And now, while it doesn't look that complicated, at first glance, it made me stop when I was looking at it and go, wait a second, how did he do that? These corners here, there's something going on, and I'm not 100% sure how he did it. And it made me want to see if I could figure out how he did it without looking at his code, because I think little things like this sometimes a designer hands you something like that, and you start plugging away at it. I want to sort of share my thought process along the way and show you how I get around bugs and other problems. But of course, if I do get stuck, I can look at his code, which is definitely a nice little bonus. But I'm going to try my best not to look at how he did anything and try and figure it out on my own as I go through all of this. But just before we dive into that, I just want to let you know that I have some new merch. So you can see right here, I'm going to actually be retiring the old lineup eventually as well that I had on Teespring. This is with Cotton Bureau. Quality is a little bit better. Got some custom designs made that I think look pretty good. It can support grid or I have a cascading style sheets one or just a color space one, potentially more designs on the way. We'll see if you guys like these. And of course you can advertise that you are a front end friend at the same time. But anyway, with that out of the way, let's get into the code and have some fun with this. So here is what we're trying to, and just to highlight a little bit here, because it's a little bit hard to see with the background he has set up. But I did check here because he has the fancy linear gradient going. And if you replace it here, you can see like it doesn't matter what the colors are or anything in the background, it's always going to work. The darker the colors, the harder it is to see the shadow. But other than that, like it doesn't matter what's there. And that's sort of the tricky part and the little offset here. I'm not 100% sure about. So I set this up as what we're going to be doing as a starting point. So I took the same HTML that he had. So we just have a figure with an image and a fig caption and that's what we're going to be working on for everything. So the first thing I'm going to do is set some padding on here of say one REM, there's probably a default margin. I don't think that's a problem. It's at a background of white. So we have something there. We'll say color black. And just to make sure you can see we have all that extra space on the side that we don't want. So our width here will also, yeah, we'll just set a hard width for now. We could do some Macs content or something. Oh, and then of course we need our image, Macs width 100%. I thought I had that already down below, but there we go. I apparently, I didn't. So we're good to go. We get started on that, which is almost all the way there, right?  So I'm not sure how we're going to do it. My initial thought, whenever I see things like this is pseudo elements and I think I can get that idea going to make this work and yeah, well, let's see what happens. So we have my photo and I'm gonna do a photo before and we want a dot photo after because we want for the top corner over here and the bottom corner right there. So we need content, content on both of those. So our pseudo elements actually show up. Then what do we want? The position absolute. So we can get them exactly where we want. So position absolute, because I'm doing position absolute there on the photo itself, we can do a position of relative. Cool. And now let's just make them like show up. So it's CSS when you're playing around with stuff, the best thing to do is give them a background. Let's do hot pink and we'll give them a width of, I don't know, 10 rem, it's way too big, but whatever, 10 rem height. And saving the height, I'm just gonna say aspect ratio. I think if they're a square, it should work out fine. Yeah, too big. Let's try five. Five is probably still a little bit too big, but it's gonna be closer to what I want. I think that'd be okay. So we'll start with the top one, which is our before. And let's get that into place. So we're gonna say the left, we could probably create some custom properties here. So it's always depending on like the padding we put in other stuff, maybe, and based on the width that it's always in the right spot. But let's just say width is minus 2.5 rem and see where that puts it. I think that's actually okay then. And then top will be a negative 2.5 rem as well. And then we're gonna do a rotate. And yes, rotate is its own property. Just in case you didn't know, I was gonna do a negative 45 degrees. And I'm like, why am I doing negative when you can do a positive? Cool, perfect. That's sort of what I want. Because now we can do a box shadow on there. Let's start with a, if this is this easy, that'd be cool. But I think, I'm not sure, I think we're gonna run into problems. Just give it a black box shadow that's going to be, I'm gonna make it dark enough because I have a dark background. And of course we want one rem here to make it a box shadow. And an interesting thing with shadows is, if I change my background here, background to transparent, shadows don't actually show up like underneath the thing, which is kind of cool. And I think we're gonna use that. But I just realized a problem. Okay, this is, and this is why it was tricky in the first place is we're clipping that itself on the border. Okay. So this can't have a fill to like cover. I think I'm gonna move it back. Let's do a negative three, whoops, not 44. Negative three, three. Okay. I don't know how we're gonna hide this white bit. But okay, so whenever I have a problem like this, instead of worrying about that side of things, go with your easy wins first and then worry about it. So I'm gonna improve my shadow. I'm gonna make the shadow darker now just so we can really see what's happening with it. And maybe what we'll do, let's just lighten up the background a little bit too. There's my background. Let's just make these 300s. Because that's my light version. It's just gonna make it a lot easier to see the shadow because I wanna see the shadow right now because I'm gonna be playing with these values on it, which are my offsets. And we also have right now a zero here that I wasn't putting because that's the, oh no, whoops, we have a zero over here, which is our spread. So the first thing I'm gonna do is actually like a negative one REM for my spread, which is gonna pull it in. It makes it completely vanish. Let's do a one first actually.  So we have one REM and then we blur for one. So if I make that negative one, it's pulling it in one. And then we have like one REM of blur, but that whole one REM of blur is underneath it. You can see like just the faintest little hint there barely. So maybe then this goes up. No, this one, we're gonna keep it one. But then I rotated it 45 degrees, so my right side. So I think if I move this like 0.5 REM offset, it should. Oh, I did the wrong one. So this one stays at zero. It rotated that way, whatever, it doesn't matter. This one's gonna be a one REM for now. Let's just try that. There we go. You can see it's actually like showing up a little bit there, which is basically what I wanted. It is bleeding out a little bit on the other sides. So I'm gonna make this a little bit bigger and see what happens. You can play around with these values a little bit and stuff, but we sort of get that idea of what we want. The hard part now is hiding the white part, right? So you know what, well, again, easy wins. Let's just take this and I'm gonna put it here and I'm just gonna update my numbers here. It's gonna take me a while to fill around to get it right. So I'll fast forward to when this part is finished. All right, proved to be easier than what I thought. It would be, I just made these, instead of being the left and top, it's now my bottom and right, and then my offset just switched from being a positive to a negative value and my shadow's in the right spot. Now is the part where I really don't know how I can do it because as I was doing this, I was thinking I could use a clip path, but clip path won't work because these are part of that element, right? Let's try. I'm also really bad at clip path, so we might pull up clippy. Photo, so if I did a clip path of polygon, and let's just say we did 10 pixels, I'm just gonna do a fast 10 pixels, 10 pixels, 10 pixels, 100%, 100%, 100% and zero, zero. It shouldn't matter too much. Yeah, it doesn't, I mucked it up somewhere along the way. It doesn't matter, but it's cutting off my shadow too because those elements are inside of that element because that's where pseudo elements live. So a clip path there doesn't work, which is a problem, because that's sort of what I was thinking along the way. Damn, I'm really happy with the shadow too. I'm really a little bit disappointed that that doesn't work because I could definitely clip path to follow exactly on here and that would work, except we'd be missing that little bit. And I think that's sort of what, it's this part where it's sticking off the sides that really makes the whole effect come together. So how would you do that? This part was easier than I thought and now we're getting harder. I knew there was a trick to this and I can't figure out what it is. Okay, let's go look at Alvaro. I don't know, we're gonna look at Alvaro's code. I honestly have no idea. There's a lot of gradients going on. Far the side, far the side. Oh, okay, so this is using that gradient syntax that I already have trouble with. He has radio gradients set up. Oh, you know what? I think these are gradients over here and not pseudo elements because that's what these are, right? If I comment those two lines out, that's the gradient. Does he have a clip path? He does have a clip path. Okay, so I wasn't crazy. So he's clipping it, but he's clipping it just to take the two sides off of it. Wait, okay. Oh, wait a second. Let's just take off all the gradients. Oh, not what I expected at all. So what he's done is he's faking a lot of this. So the white here is actually a gradient. I could leave my pseudo elements and I could do the same idea, I think. Oh, okay, so, yeah. Okay, so that's really interesting. The box shadow that looks like a box shadow is not a box shadow. The box shadow is a gradient. And then he has to do it for each side, right? I think so. Not, okay. So for the clip path, let's do that then. So we had the clip path, which was good. I'm glad I was right about that. But the background isn't going to be that. That's really interesting. Okay, I'm trying to wrap my mind around how he did it still, even though I get it. Let's start with the clip path. So here, I don't even know how to figure out how much that should be, but I bet you there's some math that we could do to match exactly how far. How did he do that? C, C, P, P. There, yeah, he's using the values there. I don't know, it might be a bit trickier to get that to line up perfectly, but let's just, I'm gonna do one second, Clippy. Okay, so yeah, with this Clippy thing, you can just add points, delete points, move stuff around. So I just want the general shape because as you saw before, I screwed it up down below, I can copy it. And then I can just paste that into my clip path here. The only thing is I don't want those to be the 15%, which I don't know what I want them to be because we need to move them to the right point. I was gonna base it a little bit on the size of these, but I think it might be, oh, I did width five. What if I just did 2.5 RAM? Is that gonna light? Let's see what happens. 2.5 RAM for those, just for fun. I just, I don't see. Why is it 1.5? It must be because of how I moved it.  Yeah, hmm, okay, whatever. 1.55 works perfectly, I'm magic numbering it. I'm not gonna worry about the math. We could definitely improve that because this is like, so I'm going like, I'm starting at like 1.55 here and the 0% is the top, then we go all the, oh no, we're starting at this point, sorry, we're starting here, then we move over and up, then we move all the way over. I think I've probably done a video that looks at how you can do clip path. I'm not sure actually, but whatever. Here I'm gonna do a calc though, just because here we can do calc and do 100% minus the 1.55 and then that should set up that one in the right spot and then the same thing here, we can just copy that. So it's in the exact corner that I need it to be. I don't like magic numbering things. Ideally, I would sort of figure out how I could do that with some math, maybe either do the whole thing with gradients like he did, but I sort of wanna see if my method here would work. Now, the other part that's the weird part is the background, right? So my background instead of being the white is going to be linear gradient now. We're gonna gradient and I, okay. So linear gradient and then we're gonna make the padding two instead of one and that might break my positioning. Oh, okay, that worked. No, it doesn't, okay. We're gonna stick with one and we're just gonna have much smaller borders than he did. So linear gradient, we're gonna start from the left and we're gonna go that way. So we're gonna do a transparent. Then we're gonna do point five, we'll do a white, oh no, we'll do another transparent. We're gonna have to change this in a second, we're gonna do a transparent at point five rem because I want it to be half of what the padding is here. And then we're gonna do a white at point five rem and that will be at 90 degrees because I mean that works, but that's going from the top. We want it from the left. Okay, so it's working, but I still have the issue with my shadow being busted. But you can see like what that effectively has done is it's pulled this in a little bit. Yeah, that sort of stinks. And I guess so that we do the linear gradient that way and then I can have the same one, let's just copy that. I don't know if this is gonna work. Let's paste that one in there. The second one and then just take off that 90 degrees. No, the problem then is it's doing it that way. So, oh, okay, so we're gonna do to white. Let's delete this one. So the problem is like if I do it left to right, we're doing the transparent to the white, but then it's filling in everything. So we need it to stop here as well. So then we're gonna say white one rem and then transparent again at one rem. So we're just giving us that side that's right there and it fills all that in. Then we need to do the same thing from the top. So I don't think I'll do all four sides here just because we get the idea of how it works. This one I can just take off the 90 degrees and I think, there we go, it's working. So then we do the same thing for the left and the bottom one would be bigger just because we want more space there. But it gives us the idea because of the clip path, my shadow is muckered though, which is a little disappointing, but I could probably play with the offsets or the positioning. What if I brought this back in closer? Too far, I guess. Pixel values might be a good thing. Or see, it was lining up well with my clip path too. Okay, yeah, because the clip path is out there. I think if I gave myself more room to work with, padding, I think my padding was too. I'm just trying to think and then I moved, I'd have to move everything around. I think if I did that, I gave myself more room to work with though then I could move this gradient in more and then it wouldn't be getting clipped the way it is. The only other thing that I didn't do here is he also was simulating the drop shadow. So that would be here. So instead of, we do transparent and then to like, well, let's do an RGB of 0, 0, 0 over 0.5 or something. So we're simulating, you know, I don't know, 2.5. We do a light color there. So we go from transparent to a black. So we get a gradient shadow going that way. And that's simulating the drop shadow that he had, right? Because definitely we have this shadow that's all the way around. So he's doing that and we're simulating the shadow the whole way around with the gradient.  I never, ever, ever would have thought of that. We definitely need to improve upon this a little bit. So yeah, I think it was really cool though. And definitely one of the ones, it's a bit of a shorter one like this. I've done much more in-depth and longer ones, but I really like this effect that he did. And I'm surprised with how he did it. The numbering to position stuff, I wouldn't want to leave it like this. I would definitely look at a little bit more on how he did his math to figure that out. And I think we could figure it out on our own as well, but I don't want to just waste time going back in. And you know what? I'm going to fix it and I'll be back in a second here. You don't have to see me muck around with it, but I think it's worth getting there overall. All right, look at that. Isn't that so much better? I got there. I'm super happy. Basically, I did what I said. I increased my padding more just to give myself more room to play with.  Because if I didn't update that, I was at one point I thought I was completely done for because I started getting this crossing thing going on. I was like, oh no, that's bad. But I'm like, wait, I can cover that up a little bit. So I did exactly that. I covered it up just by moving the clip path further in. And then I just realized when I did that actually, my positioning of my before and after here, I was hoping, because these are at three. So I put this left and top at three. But I think because of the rotation, it's not perfect. And this is where maybe like some Pythagorean theorem could come in, you know, would that work? Let's try. We'll put this in a calc and do, is it 1.41? That didn't work because it's getting too big. I'd have to think about it a little bit. There's probably a way instead of magic numbering this. So if you have an idea on how to get to exactly, or maybe I could look at Alvaro's, but we wanna sort of line this up perfectly or as perfectly as possible. But I'm just wanted to show that we can actually like get there and get sort of that same effect that you had. I have that little white line that's showing up. So maybe I'll just stick with my three. It looked fine. So yeah, I think that actually looks pretty good. And we sort of get that overall vibe. I think it would be better if my shadow stick out a little bit more. So, you know, I don't know. I hate magic numbering things along the way. But you know, we wanna get the right look for it. But obviously we wanna be able to like update things and change things and get the exact look. Maybe it's better with the radial gradient than what I'm doing here. So, you know, which is what Alvaro did to get that corner effect. So I'm gonna link to Alvaro's down below. I'll link to my finished one down below as well, just so you can sort of dive in and play around with them and stuff like that. This is the worst one of these I've ever done. Usually I get closer to like a finished result, but I'm pretty happy with this. And I definitely, this idea of like the transparent to a gradient to a solid color to simulate a box shadow and then doing that around all the sides is really interesting. I probably wouldn't, I would never would have thought of that on my own. So I'm happy I looked at this by trying to implement these things, getting stuck and then finding solutions. It just makes things stick so much for you. So actually like building stuff is really important to remembering these. And if you liked this video, which I hope you did and you'd like to see more where I sort of struggle my way through trying to match a final result. As I said, usually I get a little bit closer to what my end goal was though. I think we got the spirit of what Alvaro was up to here even if we didn't complete the entire thing. But yeah, if you enjoyed this video and you'd like to see others like it, there is a playlist right here for your viewing pleasure. And with that, I would like to thank my neighbors of awesome Andrew Simon, Tim and Johnny, as well as all my other patrons for their monthly support. And of course, until next time, don't forget to make your corner of the internet just a little bit more awesome.


The baby gazes into his mother's eyes and sees itself through the mother's gaze. This loving exchange of visual cues gradually creates in the child what we call object constancy. The child generates an internal representation of the mother, which remains with him forever and squanced and embedded in his mind as an internal object. Henceforth, the child is able to interact with this internal object when mommy, the external object, is absent for some reason. This bridge of existence, this object constancy, allows the child to feel safe, to venture outwards into the world, to explore reality away from mommy. Mother becomes a safe base inside his head and outside.  And such a child is able to separate from her safely, knowing that it will not be punished for this transgression of walking away from mother. This child is able to separate and in due time, after a lot of friction with reality, after a lot of pain and many losses, the child emerges, becomes an individual. And this is the process known as separation, individuation. Various scholars, starting with Margaret Mahler, through others, and up to Severino in the 1970s and 80s, many of them describe this process of separation individuation as exclusively something that happens in childhood, an infantile process. And I beg to differ, as I usually do, because my name is Sam Vaknin and I'm the author of Malignant Self-Love, Narcissism Revisited, and I'm also to the chagrin of many a professor of psychology. Today we are going to discuss the three separation individuation processes throughout life and how each and every process of separation individuation creates a new self-state, so that ultimately you emerge through these processes, you become who you are. Today's topic, three separations. One individual. Is it really so? So we mentioned the infantile separation phase. It's described in literature.  Children do venture away from mother, hesitantly, fearfully, but also very grandiosly, and then they run back to mommy, hug her as a form of secure or self or safe base. I propose that there are two additional processes of separation individuation in life. The second one is during adolescence, and the third one is when we go out into society, when we begin to interact with other people in meaningful ways, in romantic relationships, in the workplace, when we develop object relations to its fullest. We experience another process of separation individuation. What I'm proposing is that separation individuation is a coping strategy, and like every other coping strategy in life, it is used repeatedly throughout the lifespan. We tend to develop ego defenses, other psychological defense mechanisms, coping strategies. Early on in life, attachment style, everything starts in the formative years, zero to six, when mother is the preeminent and predominant figure. During these years, we also acquire the skill of separating, individuating and becoming, and this skill never becomes obsolete, we keep using it throughout life. When we reach puberty, which is the biological equivalent of adolescence, and then we become adolescents in the psychological sense, we wish to separate from parental figures, we wish to become individuals divided from other people. The formation of identity, gender identity, the distinction, distinguishing yourself from other people, negative identity formation. They are all very critical in adolescence. Adolescents spend an inordinate amount of time on branding themselves, rendering themselves differentiated or distinct or separate from others. So the process of separation is very pronounced in adolescence, and when it is unimpeded, it leads to the formation of a self-state. Similarly, when we go out to society, when we begin to interact with other people, when we begin to apprehend that other people are totally separate entities, that we can control them, that they are unpredictable, that they encompass and embody and reify internal processes, and we have no access to these processes. We have very limited information about what's happening. When we fully grasp that other people have their own wishes and hopes and dreams and fears and priorities and preferences, when in other words, we begin to regard other people as external objects, we develop object relations. But in order to not be enmeshed, to not be engulfed, to not be consumed by other people, we set boundaries. This process of boundary setting in social circles, in romantic and intimate relationships, in the workplace, this boundary setting is separation. We separate ourselves from other people, thereby creating a self-state, becoming an individual. So, three separation-individuation processes. As children, between the ages of 18 months and 24 months, when we separate from the over-towering, perfect God-like image of mother, the Imago, and the real figure, the external object of mother, take on the world and become, in a way, an individual that creates a self-state. Then in adolescence, we reject our parental figures. We become someone who is not a parental figure. That's a second phase of separation. This creates another self-state. Then we take on society. When we integrate ourselves in relationships, interpersonal relationships with other people, that creates another phase of separation, boundary setting and individuation. And another self-state. So, each separation-individuation phase leads to the formation of a self-state. The three self-states are the autonomous self-state, which is created in the infantile separation-individuation phase. The peer self-state, which is created during adolescence, where the main group of reference, the main reference group, is one's peers. And the social self-state, which is formed when object relations ripen. And so, these are the three self-states. But the process of separation-individuation, each one of the three, is sometimes obstructed, sometimes impeded. Sometimes the process of separation-individuation is never completed properly. In the infantile separation-individuation phase, if one has a dead mother, if the child has a dead mother, separation-individuation would be hindered and would never be completed.   Roles which include liberating the child, frustrating the child in a benign way, allowing the child to fly away. And so, a dead mother is simply not there. Or she leverages the child, she uses and abuses the child as an instrument, as a substitute for an intimate partner, emotional insist. Or parentifies the child, forces the child to perform parental roles. A dead mother impedes, obstructs and destroys the first phase of separation-individuation, the infantile phase. During adolescence, if the child or the adolescent has strict parents, disciplinarian, uncompromising, inflexible, sadistic parents who are strict and who do not allow the adolescent to develop fully via interactions with peers and adventures in real world, parents who are overprotective or, on the other hand, utterly neglectful, parents who are incapable of loving or attaching or at least demonstrating love and attachment. These kind of parents, during adolescence, interfere with the proper separation-individuation of the adolescent and render the whole process disrupted. This is the second impediment to the second phase of separation-individuation. Finally, when one exits the proverbial womb out into the world and begins to interact with other people in a significant and meaningful way, for example, in intimate relationships or in the workplace, this process of separation-individuation or the individual places boundaries in order to protect himself or herself from incursion and intrusion by other people or from abuse. In this phase, there is also a possible impediment. It's also possible to disrupt the third phase of separation-individuation. I'll give you an example. The NANI state, overwinning, domineering, intrusive institutions, they don't allow the individual to set proper boundaries. They don't let the individual individuate. They crush and repress every dissidence, every disagreement, and every criticism that pushed the individual to become a herd animal to totally conform. This can be done by states and institutions, but it can also be done by the church, by one's extended family or even nuclear family, and of course by one's intimate partner. There are impediments, there are obstacles to the third phase of separation-individuation where the individual is not allowed to place boundaries and is not allowed to engage in authentic expression. Let's summarize here the two. There are three phases of separation-individuation. In early childhood as an infant, the infantile phase, in adolescent, the adolescent phase, and later on when one develops full-fledged object relations with other people, the social phase. Each of these three phases of separation-individuation can and often are disrupted. The infantile phase can be halted or reversed or obstructed by a dead mother. Strict parenting can hinder and impede the adolescent phase of separation-individuation and inflexible, rigid, intransigent and punitive social structures. Anything from an intimate partner to the state, institutions, extended family, they can and do interfere with the third phase of separation-individuation. I mentioned before that each stage of separation-individuation leads to the formation of a self-state. The autonomous self-state in the infantile stage, the peer self-state in the adolescent stage, the social self-state in the social separation-individuation phase. And of course, if the separation-individuation is obstructed, perturbed, rendered incomplete, we have two variants of each self-state, the healthy variant and the pathological dysfunctional variant. The healthy variant of the autonomous self-state, when the mother is good enough loving, caring, accepting, but also allowing the child to separate and to become autonomous and independent, this kind of good enough mother generates an autonomous self-state which is healthy and functional. It is essentially narcissistic self-state, healthy narcissism, and involves infantile grandiosity. On the other hand, if the mother is dead in the emotional sense or if she abuses the child in some way, even pedestalizing the child is a form of abuse, not recognizing the child's separateness. If the mother is this sort, the autonomous self-state would be pathological, it would be insecure, it would be fearful, the autonomous self-state would become clinging and needy. When we come to the peer self-state, which is the outcome of separation-individuation in adolescence, again we have a healthy state and a pathological self-state. The healthy variant of the peer self-state is defined. It is a self-state which is rejecting of others, defining one's identity in contradistinction to others. It's not reactance in the pathological sense, it's simply telling others, this is me and I'm going to be faithful to who I am. That's a defined pose. The pathological version of the peer adolescent self-state is the conforming version. When the parents are strict, when they are harsh, when they don't allow the adolescent to separate and individuate, the peer self-state generated by the disrupted process of separation-individuation will be conforming and submissive. It's a pathological state. Similarly, the social self-state, if it is impeded or obstructed or hindered or disrupted by social structures that do not allow the individual to separate and individuate, the resulting social self-state will be avoided. That's the pathological version of the social self-state. The healthy version of the social self-state is collaborative, so collaborative versus avoidant. To summarize, each and every process of separation-individuation can end up with a healthy outcome, with a healthy self-state, but if the process of separation-individuation is interfered with in a disruptive way, it does lead to the formation of a pathological self-state. The infantile separation-individuation phase leads to the autonomous self-state. The healthy version is grandiose, the pathological version is insecure or fearful. The adolescent separation-individuation phase leads to the formation of the peer self-state. The healthy version is defined, the pathological version is conforming. The social separation-individuation phase leads to the formation of the social self-state. The healthy version is collaborative, the pathological version is avoidant. Immediately all of you see, I hope, that disrupted processes of separation-individuation create pathological self-states, which are closely aligned with mental illness. The pathological autonomous self-state, which is, as you recall, insecure or fearful, is closely identified with borderline, narcissistic, paranoid, and covert pathologies. The pathological peer self-state, which, as you recall, is conforming, is closely associated with schizoid, avoidant, codependent, or people-pleaser pathologies. The pathological social self-state, which, as you recall, is avoidant, leads either to asocial tendencies or to ostentatiously exaggerated pro-social tendencies, kind of virtual signaling. This is an encapsulation of my new work on separation-individuation. Send me queries and so on, and if they merit, I will create another video in which I will try to respond to all your questions. Now you can separate from me, but don't dare to become individuals and don't dare to separate for long. This is Mummy speaking.