Our topic today is Drupal Blue-Green Deployment, and if you came to the right place, I really hope so. So let's start, cause we have a lot of things to cover, and the session's got shorter, so there's no mercy there. A little bit about myself. My name is Alexei Gorbitz, and I'm a group architect at FFW, and my background is basically in backend, in architecture, but I also do DevOps for a couple years, and this is a side project, you could say. Coming from a developer perspective, fixing the operations of a team that was dysfunctional. So we'll talk about that. And I'm pretty sure you guys are doing deployments in Drupal, and you face some of these issues, and if you came to this topic, you probably know what we're gonna talk about, but I wanted to line up for everyone else kind of what the topic is about. Today we're gonna cover the problem of the zero downtime deployment that your bosses all want from you to do. We're gonna talk about the solution for that. It's just one solution, it could be multiple different ways to fix that problem. And we're gonna talk about common problems that we're gonna see regarding this solution or other solutions. So let's address the elephant in the room. Zero downtime problem.  Like, what do you mean ever? Like, you mean like ever, ever? He's like, yeah, ever, but that's not possible. Okay, my site should not go down like this amount of time. So I mean, that problem has a name, and it's called the problem of nines. So your organization will typically pick some level of service availability that you're comfortable with. And it's basically it scales to number of nines that you want to support. Number of nines comes from the percent of uptime you have per year. So being realistic is what really matters. We're talking about like Drupal deployments, Drupal is a state full system, has a database, like a lot of things can go wrong.  So you don't have a blue-green deployment problem if you're in the 90% percentile. So if you're fine, your site being down for 36 days, don't do anything. So I think you have more of a problem when your boss says, okay, three nines, three nines, I commit it to three nines. Then you have eight hours of downtime per year. And depending on what you consider downtime, is the site maintenance page considered a downtime? You might be in a good or worse spot, I don't know. So yeah, think about that. So of course you guys know that if you are doing any Drupal deployments, you know the Drupal deployment problem is, well, they tell you put the site in maintenance mode and also if they don't tell you, Trash does this for you. So your site looks like this, a widescreen or maybe you got a fancy design. That's one first thing, but second thing also, you're replacing or you're modifying rather your Drupal deployment in place. And if you're doing that, you don't have a way to go back to your previous version. Your database might have changed. Your code base is incompatible with the older database versus newer database. So basically there is no easy rollback for you. Here comes blue-green, which blue-green is like the strategy of, okay, let's always have a spare set of environment and the spare set of containers running or engine X running and a spare code base, an older code base and maybe a spare database, an older database that is always available for us to kind of roll back to if we want to. But let's prepare a new one and then switch gracefully to it so that user doesn't notice. It's like a canary deployment, you know. And there are different techniques how to implement that, but the solution is just named blue-green deployment. We're gonna look at some of the infrastructure of review you need for that. So I mean, if you've done any kind of ops in Drupal, you know that you need an engine X and maybe a PHP server. I don't know why it says web server. It doesn't matter. You need the PHP and you need an engine X to run Drupal and maybe you use a patch, it doesn't matter. You need a database, you need maybe a file storage, you need some cache and you typically like design your stack so it's highly available, so you want two of these, three of these, how many you want. And now the problem is that you need a clone of that. So all the time you invested in building this stack, you need to do it twice. So build a new stack that kind of has immediate mirror of that. So when you're doing a kind of blue-green deployment, what you want to do is you want to deploy a new stack with the newer code base and you want to copy the database, you want to copy all of the different states from the previous code base. So you might be using Drush for that or I don't know, your favorite database copy tool that works here. And then you want to test the stack independently from the production stack. So you want users to go to your stack, look at this website and say, oh, this is working or no, this is not working, this is a bad version. As soon as you're happy with your staging stack, you're happy with the result, you kind of want to flip them. Flip is implementation detail, but you want users to go to the new stack that you just deployed and the old stack to become available for testing and comparison. So you're kind of like flipping the ideas or load balancer and that's an implementation detail we'll cover. So basically that's the idea. But then if we go into implementation, this is where this particular session is going to be focused on AWS ECS and is going to be focused on Docker. So we're going to start this by modeling that stack on our local machines and kind of figuring out what services we want to run in the cloud. And yeah, you typically would dedicate an Nginx container, a PHP container for your application to run smoothly, but then there's a question. Do you want to put Drush, Composer, other CLI tools in your PHP container, or maybe you don't, maybe you want to put in a separate container so that PHP scales out to multiple instances. Drush is only one required maybe. So maybe you don't put all of them there. So you kind of come up with this third container. You need to know that between those containers, there's some shared state and shared configuration. For example, you need the code base. Your code base should be in Nginx container because files are stored from their static files in PHP container and in CLI container because both PHP container and CLI container interact with your code base.  MySQL, Redis, whatever caching you're using. So you want to configure those containers using something that could be swapped out on local, you're going to give a local configuration so it's going to be like not secure password or something you don't have to keep secret. And on production, you want this configuration to be supplied from somewhere else. So you need to think about that. So as you think about that, first tool that comes to mind is starting building that stack using Docker compose. So if you've worked with Docker, Docker compose is basically that tool that assembles multiple containers, orchestrates them and runs them on your local. They're great tools that are using Docker compose and kind of hide this detail away from you. But if you're doing like some serious production work, you might get back to the basics and understand how things are working. So to get to illustrate a basic Docker compose you could have, you have to think about your basic services that are going to be available both on production and on your local. And you want the stack to be as close as possible. So we're going to define some basics in like a Docker compose YAML file, which is going to be common for every deployment, local or production. It could include a PHP and a web image for example. And as we said before, it's going to share a volume. So volumes from is a directive that's going to allow you to share a volume between the two containers. So anything in the PHP container is going to be available in the web container, which is Nginx. But then on the other side, for the local development, you need to add some other services. Like for example, you want to expose the web container port so that your local machine can see it and you can use it. Or for example, you want to add the DB or Redis or anything that your local machine will need for operation. But then on production side of things, you want to probably tweak some of these things.  And maybe, I don't know, maybe you want to configure differently your production PHP container because you want to turn off the errors. Maybe you want to give a different database name. Depending on the stack you're deploying, is it a blue or green database, and stuff like that. Maybe you want to have two services, one for web, one for CLI, one is gonna be scaled to free, one is gonna be just a single drush container running there. And they also need that kind of support. So you're thinking in terms of CLI, in terms of like Docker Compose stack, and then you're kind of moving this away into the cloud. That's kind of the approach I took. And it worked really well. A lot of people will be thinking, oh, does Docker Compose work in AWS ECS? We'll get to that. So as you model your architecture and your local machine, you want to get to the cloud. And in the cloud, there are different terms that developers are not familiar with. And we'll start with VPC, which is a virtual private cloud. It's basically a network isolated network in AWS. And what we want to do, we want to deploy a cluster, which cluster is like a set of machines that are running, they have compute, and you can run containers on them. It could be three, five, 10, 11 machines. So basically you treat it as a single set of machines that can go away, get back to you. And they have resources. So resources are the only limitation of the cluster. So you can run five containers or 10, depending on how much resources they consume. So in order for users to get to your application, you want to expose a load balancer.  It balances requests from users, from user browser to different resources. So for the implementation of blue-green specifically, you want to have two, remember, the blue and the green. One will call active, and it's going to be serving traffic on port 80, and one will call inactive. It's going to be sitting there on port 8080 and basically waiting for you to test it. So as soon as you have these, you want to start deploying, not yet. So you want to provide your stateful services. So your stateful services are your database, your cache. Before you need the code base, you need kind of where to store the Drupal database. So those Amazon provides these as managed services. So you just deploy them and it's managed for you. So it's really convenient. You don't have to put them in containers. And now we start kind of deploying. So when we start deploying our code base, let's say our code base is a version 1.0, you can deploy a task, a container running, and you can attach it to the load balancer. And you can also use something called the service in AWS that's going to scale this to multiple instances in your cluster so that you have failover, availability. So you're going to get another container running version 1.0. And maybe you want a sidecar container, a container that is not serving traffic, but is used for kind of deployments, for example. That CLI container is a perfect example. You want to kind of put drush in it, for example, and run deployments from there. But then you want, this is your active stack, for example. And then you want to deploy in an active stack. So you're doing kind of the same thing, but on the other side of the road, and you're attaching this to the other load balancer, and you're also deploying the CLI container. Remember how we talked about copying the database from one to another? Maybe your CLI container is that, the role of CLI container is to do that. So you can see that actually, we have a database copy happening that CLI container is doing for us from the blue to the green. And as soon as you're ready, as soon as you're ready, we're going to swap those listener roles, listener rules that are going to be basically, listener on port 80 is going to go to a different stack, and listener port 88 is going to go to the opposite stack as well. So that's kind of the architecture. So in order to implement this, we actually need to look into AWS constructs. What are these things I just mentioned? So in order to run a container in AWS ECS, you need to create something called the task definition. So task definition is kind of like a compose file. You can define containers you want to run, but it's in JSON format, you can do I think YAML format, a completely different format, but yeah, it works.  So those tasks could be running on different instances in AWS. But if you want to maintain a number of tasks, and you want to maintain a number of availability that your requirements are, you want to create a service. A service in AWS ECS is going to be something that takes a task description, task definition, and basically make sure the number of tasks is always running, the minimal number you require. And also a service can be load balanced. So you can say those tasks are served by this load balancer on this URL. And people going to that URL will always hit those tasks that you're running. All of that runs in the cluster, which is like a boundary of resources. So how are we gonna deploy this? So now we know how we're gonna architect this, but we don't know how we're gonna deploy this. In order to deploy something to AWS ECS, you need an image, which is a Docker image that's built with your code base and can run anywhere. So you start by, let's say you committed something in your code base and it has a commit hash. Now you need a source file for how to build your image. It's called Docker file. So the Docker file is gonna take the script that you put in Docker file, it's gonna build the image for you. And after you build that image, you wanna push it to Docker registry. The Docker registry is a storage of those artifacts. It stores Docker images. So the version that you committed, you wanna version it the same way or a similar way so that one artifact doesn't intersect with another. You want to have always a version to roll back to and you want to have it always available. You don't want to replace it. As soon as you build that image, you have to update your task definition, which is that JSON file and give it the new image name and say, okay, this is what I want to run right now. And then you have to go to that service ECS service and you have to say, use my new version of my task definition. So that seems very complicated and we came from Docker compose world. We just want two commands to run it or Docker compose up is my preferred one. So introducing the ECS CLI. ECS CLI is an unofficial or alternative way Amazon supports it to use Docker compose format to manage those task definitions. So if you already know Docker compose in theory you can use AWS CCS right now. So basically it supports Docker compose format and also does some cool things for you. So every time you run Docker compose up like locally in his AWS CCS, it will detect changes that you made to your Docker compose file and it will update the task definition and patch it and then rerun the service and kind of bring the new containers in the new task definition. Really cool stuff. Extra stuff. It has also possibilities to create a cluster if you want a quick start but those are the main things that we're gonna use. So and then ECS CLI commands are very similar to what you use with Docker compose. So if you were familiar with Docker compose you will be familiar with this. So those are some examples. You will deploy two stacks. We deploy blue, we deploy green. How do we, what is that blue green thing happening? How do we switch between the two? So the switch between the two is actually there are multiple techniques. Some people say use like DNS. Some people say, I don't know. There are multiple really techniques. And the one technique in particular that works best for ECS and gives you like no delay in how you do that is described in this article link here but also I'm gonna tell you how it works. Basically you're gonna create ALB in Amazon as something called the listener rules. So you can say, if it matches this criteria then go to this target group. And the target group is a set of resources that is balanced. So the criteria we wanna do is match all. So you can see that path is asterisk meaning match all. We create two of these and basically we can swap them programmatically one with each other. And that's how we achieve kind of this blue-green switch. So you want one listener on port 80 and another listener on port 8080. Maybe first time you deploy it, 80 will go to blue, 8080 will go to green. Then next time you wanna swap them and it's just about modifying those listeners. So it's easy to do if you know how to do Amazon API calls. So you wanna describe your listeners, look at them, find out which one is the active, find out which one was an active and then you wanna call the modified listener API which will swap them places. Call it two times because one has to become active and another has to become inactive. So the swap will happen. There is actually a good starting kind of script for that in this link that I have here. And that script is like the recommendation from Amazon. But we looked at those things and I mean it's very hard, it's getting harder and harder and we're just like Drupal developers. So basically now we need to take care of not just the deployment but the blue, green, and where deployment. So instead of deploying to blue or always deploying to green, now we need to kinda in first state from the current load balancer rules and see where it's pointing so that we can know that we're not deploying to the production site. So for that we'll need to get the current active color from the load balancer and then we're gonna have to do this deployment on the opposite color. So if the active is blue, we wanna deploy the green. So to deploy the green, we need to deploy the web service, deploy the CLI service, whatever, how many services you have. And then all of these, if you remember, the deployments are involving this huge schema of replacing things and stuff like that. So it's actually getting harder. So for that, at this project, we came up with basically a script that facilitates those things. So the ECS Deployer we call it or it used to be called orchestrate.py. It's a small Python script and small is, it's up to you to guys judge how small it is, but it's really small. So it's a small Python script that allows you to look at your current state and get the current color of your deployment and then use that color to do either one or the other deployment. So you can actually get the color, save it in a variable, and then some of the handy tools will include things like, okay, let's get a deployment to the target color and you specify the color and it's gonna look for the right stack to replace and it's gonna attach a load balancer if it's first time deployment, if it's not the first time deployment, it's gonna do nothing. So a lot of kind of cool and just facilitators for you that you could use. It also has a promote step which promote will basically swap the listener rules with places and you'll have either a promote when you wanna deploy the inactive to active or a rollback if something went wrong. So it's all promote.  As a nice feature, it has an exact command. So a lot of times we as Drupal developers we wanna execute a command in Drush and let's say you have Drush running somewhere remotely and it's very hard to get. You could expose an SSH server in Drush but then you get in trouble with your security team because they don't like SSH server in containers. So what you could do basically, you could SSH into the actual instance running your container and then you can do it like a Docker exec in it. It tends to be very error prone and like there's a lot of stuff happening. You need to kind of look at your cluster, find your IP of your instance, find how to do that. Why, why? I mean there is a handy command for that. So if you wanna do like a Drupal update basically you could use this exact command. So just some handy tools. So this is open source since yesterday. Feel free to use it, look at it and give your feedback. Oh yeah, the ECS deployers like a script. They have multiple commands. I just mentioned four here. Yeah, there's more. So let's take a look at what is our typical CI CD pipeline for this.  Sometimes someone's using Circle CI, someone's using, I don't know, Travis CI. My experience for this kind of blue green deployment you need something that supports workflows or pipelines. People call them differently but it's something that stops there and asks for a user input before proceeding. So if your CI CD solution offers that, you're good. So basically what you wanna do with this blue green stuff you wanna deploy something to your inactive environment but then you wanna offer like do you like it or not button and people press proceed and then the swap happens, the switch happens. So you don't want this to be completely automatic. Sometimes on production you want to actually have a gating process. So I mean, you could use that. We used Jenkins pipelines and a lot of you probably know Jenkins from you go and configure your script manually but Jenkins pipelines is actually a plugin you have pipeline as a code. You can describe it as code. You can do parallel stuff with it and it also supports all kinds of user input. So that's how our pipelines looks like. On the deploy step, it's gonna ask you where you wanna deploy and I'll show in the next slide. On the gating step, it's gonna ask you if you're fine with your deployment then it's gonna swap, go to the next step. If you're not fine, you can cancel it any time and it's not gonna happen. You're gonna do another deploy. Basically Jenkins pipelines and Blue Ocean is the new interface for it. For those of you tired of Jenkins interface this is a fresh look. We'll give you an input possibility and here we basically have you wanna deploy to Dev or you wanna deploy to UAT plus the step that fills in the version you wanna deploy is basically pre-populated from one of the previous steps. Build step, just build that version for us, push that container and we wanna pre-populate that so that users don't have to go and grab it manually. So whatever solution you choose I really recommend you look at those possibilities to be available because you're gonna need them. Both of these are plugins. Jenkins pipelines is a plugin and Blue Ocean is a plugin. So let's talk about common problems and we really don't have much time but we'll try to cover them. So a lot of you are gonna ask the question so we're gonna do Blue Green. How about environments get out of sync? Let's say I deployed production and then I deployed inactive and then while I was looking and testing my inactive on production people went and modified stuff and did something and I'm losing all this thing because my database was copied over some day at some point and now I'm losing all this stuff and I'm not saying this is the only solution but one solution you could have is you could restrict users from modifying your production environment from any like content changes while you're doing the deployment and instead of putting your site in maintenance mode you could basically say put it in read-only mode. There's a module for that and basically it will display a pop-up message every time you want to modify any content and you can put like a friendly reminder like reach out to your IT team. Deployment is in progress and then after you're done with promote you could basically swap that back. That's my way to handle it. And another way which is. We'll have questions. Oh, okay, sure. Say again please. We did. Yeah, yeah, there's nothing manual. It's part of the process. So one way to handle it would be read-only but there's another way to handle that. And a lot of times this is gonna be controversial. It depends really on the project and a lot of you will not have the flexibility of doing that but in my experience doing Drupal Blue-Green Deployments and losing data in your database is really critical not to lose. Don't put this data in the database. Make Drupal your content system. Don't make Drupal your everything system. Drupal should not be a source of record for your maybe form submissions are really cool. You like set up a web form module. It's really cool to configure it but maybe don't store them there. Cause Drupal goes down and it's expected sometimes. So recommended way would be try to manage your state that is possible that you don't want to lose. Elsewhere and for that use REST APIs to communicate with those other services. Those other services will have their own like deployment and mechanisms. Maybe they have a nicer way to manage schema so they have backwards compatibility with schema. Drupal doesn't. So every time you deploy Drupal you are in the risk of having a breaking change. Hopefully you tested this before. So that's another way. And the combination of those two things is the recommended way because they're not exclusive. Read only mode is really good for people trying to edit content and microservices is really good for user facing features putting comments on your website and submitting forms and stuff like that. So you can't restrict regular users from doing stuff on your website. Another problem we need to address here and it's something that a lot of Docker deployments are gonna address. It's not exclusive to the blue green is Drupal assumes a local public file system but it allows you to replace it. So a lot of these places when you're doing like Docker based Drupal are gonna be like going into that container locally and gonna try to find a file. But now if you're scaling your containers out across different clusters that file is not gonna be there. So you can use NFS, you can use GlusterFS all the other ways to share a network storage and make it like native for Drupal to operate or you could offload that to a different storage. For example, we use this free for files and there's a module called S3FS. There is also another module called fly system which abstracts away storages not just as free. And you wanna look into that for this kind of solution. Just keep in mind Drupal hardcodes some of these things. So maybe you'll have catch one or the other of these. Custom code hardcodes these things. Maybe you wanna catch that. Tweak cache is an Excel module that offloads the tweak caching from the file system to like a temporary folder. So you wanna use that as well. Secrets management. So we haven't talked about our secrets but it's a very easy concept. So we talked that you have your configuration for your database somewhere in environment variables because you want it to defer from your local and production. But on production environment variables if they're stored in your task definition they're plain text. So if you open Amazon, anyone with ECS access can open the task definition. Gonna look at the password, send it to you or change the picture of the security guy and say hey, I cracked Drupal. They didn't. They cracked people. So it's a problem. So if you wanna manage your secrets my recommended approach is using something called SSM parameter store. So parameter store is Amazon service which allows you to store some of the parameters like key values. It's hierarchical. So basically you can organize a hierarchy of okay, this is prod but this is prod prod or this is prod web versus prod engine x secrets. So you can organize in hierarchies your secrets and then some of these secrets can be secret really like secure string. So secure string is one of those types that is encrypted with a KMS key and the KMS key will allow you if you have access to encrypted or decrypted it will allow. If you don't have access no one can see this. So that way you can manage access. And then the running task you're running you can give only to that container you can give access to use that KMS key. So no one else needs to carry a key around and say hey this is my key to all the locks in this infrastructure. There is no key basically. You're just allowing a task to use those secret store. There's an excellent piece of software called chamber and chamber will basically automate this for you. So you can basically run a command provisioning the secrets in a single command. You can say chamber exact tell the secrets name and it will pull all the secrets into environment variables and then run the command like be it an engine X command or a PHP command that starts the PHP server it's just gonna provision the secrets before doing that. So that's how you can manage secrets. And that's it for the main part of the session and we're gonna have questions in a second. So I just wanted to remind you guys that there is a community sprints that you wanna join on Friday and your feedback on this session and other sessions is very, very welcome especially for first time DrupalCon presenters if they tell you that. All right and let's open this for question. That's it for me guys.


Hello everybody, welcome back to another AI tutorial. In this one, I'm going to show you how to do basic color correction for free using AI tools. Let me show you what I'm talking about and then I'm going to show you how to do it. So here is the color corrected shot and I realize it's got a bit too much orange in it. But just to show you how strong this is, here's the color corrected footage. I'll hit play. Here's the original footage and I hit play. They don't look anything alike. We went and did this for free using AI. How did I do it? Let me show you. First step, just type in runwayml.com. I will put a link in the description below and then up at the top right, you got two options, sign up, it's free and it is free or log in. Some places are signed up and then they watermark it, not this place. So click login if you haven't, if you've already got a sign up and then presto. Once you're logged in, you're going to see on the left side a few options. Click on AI magic tools. This is the one we're working with. Now scroll down on the right side. There's a whole bunch of cool things to choose from. The one we're looking at in this video is text to color grade, LUT or lookup table. When you click on that, you're going to see this. Now you'll see that you can drag and drop your own footage in here. So if you have nothing, you can just go to your finder or explorer and drag and drop it in. I've already dropped a whole bunch of different things in here. So I'm just going to go ahead and oops, I'm going to go back to where I was there. And I'm just going to go ahead and drag and drop that tiger footage in. So I'm just going to go ahead and grab it from here and just drop it in. And there we go. Now we've got this tiger looking all menacing, but you know what? It's not very good color. So let's go ahead and fix it. Now here's the beauty. This is the AI part. You can literally type in what you want it to look for or look like part of me. So I'm going to go ahead and write orange and teal. Because this is the old action movie type look and then I hit generate and presto. Look at that. It's done and it's done a very good job. So that is all there is to it. You can do other things. For example, I'm going to go and type in starry night by Vincent Van Gogh. So if I want it to look like a particular painting, I can go ahead and click on generate and it will do that. And while it generates, took a look over here on the right side, you're going to see under settings. Oh yeah, look at that. Hey, that's not so bad. All right. Maybe it wouldn't go for that in my final project, but again, shows you how strong it is. Click on advanced and under advanced, you're going to see here that you can go gray scale. So you can do some black and whitey type things. And you can also adjust the intensity. So if it's too strong or not strong enough, you can go ahead and adjust it. Also, you can toggle it to the original. So you can just take a quick look. And lastly, if you don't like it, you can go ahead and click on the reset. Once you're done, let's go see toggle the process. I'm going to go ahead and click on that. I'm going to click on export. And again, you can make some choices here. You can download it in standard definition, 720 or 1080p. 1080p is where they get you if you want to pay for it. But 720 still looks pretty darn good. Click export. And that's it. It's going to download for me. It's free. And if you need it to be, you know, 1080 or higher, you can always just upscale it in another program. That's all there is to it. Thanks for watching.


According to the Kentucky State Police annual statewide crime report overall serious crime rates dropped over 10 percent in 2022. Alongside the state, Floyd County also saw a drop in serious crime. We're pretty much with the trend in across Kentucky that we've seen a lower rate in serious crimes, part one crimes, armed robberies, murders. Now you take away our instant that we were involved in. Other than that, you know, we stand really good with our part one crimes or armed robberies, murders. Property crimes is even down, a decrease in some property crimes, the burglaries. We still have some thefts, don't get me wrong, we have our theft. I don't think I've seen a decline in, but we were glad to see that our overall crime rate has decreased. Are you ready for a new school here? What better way to start a new school year off right than with a new device on the network that keeps our students and teachers connected? Appalachian Wireless. Whether you need a new smartphone, wearable or an iPad, we have your back to school solution. Visit AppalachianWireless.com or go into one of our 26 retail locations for our back to school deals that will help you show up and show out this school year. We are you. We are Appalachian Wireless. Across the state, there's been a 6.9% decrease in homicide arrests and nearly a 6% decrease in arrests for robberies. I would attribute some of it to a lot of our prevention treatment programs. We've seen a big increase in those programs over the last couple of years. I think our court systems are mandating a lot of those treatment programs to be, you know, somebody to go through treatment and then it's working. So I hope that's, I hope it's a big attribute to that that are some of our drug addicts are getting cleaned. Treatment centers are working. Jail programs are working. Obviously, we still have a lot of low level dealers and local people that live here, but trying to set up a good border that we're stopping from is some of these outsiders from coming in from Louisville, Detroit or wherever they're coming from to our region. I think it's helping to keep down some of that. So it's a number of things that goes into some of these enforcement actions to try to decrease, obviously, your serious crimes and then you try to focus on some of your smaller crimes as you go. Other categories that saw a decrease include fraud, human trafficking, pornography and obscene material and prostitution offenses. Reporting for Mountain Top News, I'm Kelcey Dean.


Have you ever had days where all you wanted to do was lie in bed and do absolutely nothing else?  We've all had our off days. We've all felt lazy, unmotivated, and uninspired from time to time, and it's normal to feel like that. But we live in such a hyper-competitive society that's so hyper-focused on pursuing success and wealth that it's made us feel internally guilty for the time we spend not working towards something productive. When you overwork yourself to exhaustion and are dealing with chronic stress, it will inevitably have adverse effects on your mental and emotional health. But what if it could be more than that? What if your laziness is more than just you feeling burnt out? Here are six warning signs of depression that are more than just laziness. Number one, you can't snap yourself out of it. A sense of laziness usually creeps in when you're overly stressed, or if you've been working too hard for too long. And there are a lot of nifty tips and tricks you can use to snap yourself out of it, like making a to-do list, listening to motivational talks, or setting achievable goals. But when it's depression, depression isn't a choice, and it's definitely not something you can just shake off or get over, no matter what other people tell you. Depression is a serious mental illness that needs to be treated with professional help and medication if required. Oftentimes, depressive episodes can recur throughout your life, so months of therapy may be needed to help you cope. Number two, you can't cheer yourself up. Do you often struggle with feelings of unexplained loneliness, sadness, and hopelessness? Do you feel exhausted all the time and rarely have any energy? You might be feeling downcast and disheartened for reasons you just don't understand. And nothing you do seems to cheer you up or make you feel better. No amount of sleep, comfort food, self-care activities or fun times with friends seem to do much to brighten your spirits. When you're battling depression, not even doing the things you used to love the most or spending time with your loved ones can make you feel better. Number three, you've lost interest in everything. According to the American Psychological Association, a markedly diminished interest of pleasure in activities is one of the hallmarks of a depressive episode. So if you've found that your laziness has made you lose motivation and interest in everything, including school and work, then that's a sure sign that something is seriously wrong with your mental health. With depression, you tend to lose interest in your hobbies and emotionally withdraw from those around you.  Number four, you can't function like you used to. Do you feel that your laziness is getting out of hand? Has it become too much for you to manage? Is it getting in the way of your work, your school or your personal life? If you answered yes to any of these questions, then you may be dealing with depression. In diagnosing depression, psychologists tend to look at the four Ds of abnormality. They are deviance, distress, danger, and dysfunction.  Number five, your laziness isn't triggered by anything. Oftentimes, laziness manifests as procrastination and may be brought on by a number of different reasons. Some believe a sense of laziness reflects a lack of self-esteem, while others would argue it's because of a lack of positive recognition from others. It could also be due to a lack of discipline, self-control, and interest. But what about depression? What brings about depression? Well, the truth is, psychologists don't really know. But one thing we do know for sure is that it isn't usually triggered by just one particular thing. There isn't always a clear reason for why depression might develop. So if you find yourself feeling down, disheartened, and un-energetical of a sudden, depression may be the reason why. And number six, your laziness isn't a choice. Finally, but perhaps most importantly, the key difference between depression and laziness is that while laziness can be changed, depression isn't so easily altered. If you're feeling tired or unmotivated, you can do something to change that for yourself. You can rest, brainstorm, look for inspiration, and try out different productivity hacks to help you get out of your funk. But with depression, it's not that easy.  When you have depression, you're not making the choice to be depressed or stay depressed. In fact, patients with depression often report feelings of extreme guilt, shame, and helplessness due to their depression. No one with depression is ever just doing it for attention. Mental illness goes so much deeper than that. Can you relate to any of the signs of depression in this video? If you or anyone you know is experiencing serious feelings of depression, don't hesitate to reach out to a mental health care professional and get help. Please like and share this video if it helped you and you think it could help someone else too. The studies and references used are listed in the description below. Don't forget to hit the subscribe button for more Psych2Go videos and thank you for watching. We'll see you next time.


So, hi, we are back with a new video, let's get that out of the way. New video of Nicolò trying to make plasma prutor, and today we'll do a very simple thing that is, if you look at corners, they are okay-ish when using the breeze light theme, but when you switch to dark, you get this very ugly effect of having this light pixels at the very border. It looks bad, so let's try to fix it in the most simple way possible, and that is, well, I should give you a bit of background on why this bug is happening in the first place. How this works is, you have pop-up, which could be the applet, the plasmoid, blah, blah, blah, behind it, all the effects, just as an example, there's blur, which we do, and then there's one that's called contrast effect. So, what contrast effect does is, it takes color from the background, and then it pumps them up to be more visible. So, if you got, as I have right now, a green wallpaper, well, now it's blue, a blue wallpaper, it will take that blue and make it even bluer. It pumps up saturation and contrast values so that the blur effect can be nicer even at very low transparencies. Like, plasma theme right now, it's actually very transparent if you look using it on some wallpapers, but it's actually just 10% transparent, which compared to anything is very little, and that is because we actually take the color, pump the saturation up, and then apply blur. But what happens is, the effect also makes the wallpaper a bit lighter, and in the corners, there's this problem that you have the natural corner of the applet, and then you give a mask to the contrast effect so that it's also applied in the corner, and this works. But whereas the corner of the applet is anti-aliasing, the one of the contrast effects seem to be not so, meaning that you have a couple of pixels in the corner that have the contrast effect, even though they are not below the applet, and those pixels, they have saturation, lightness pumped up, and so they look white. Not very visible on this wallpaper, so let's switch to the next one, like this. I guess, now the simplest way to fix this, probably this shouldn't be called a fix, but is to make the mask a bit smaller compared to the actual applet, which could have some issues, so we need to make sure that it doesn't. So first of all, let's check which branch we're in. So let's get back to master, get pull. Let's go into translucent. Let's start with the dialogue background, so this one. And again, we'll do the simplest thing possible, and that is to take the mask, which is this black thing, and make it a bit smaller, easy. So let's see, right now it's like this, so like this, like this, a bit smaller. Maybe it's not enough, we'll do, we'll make it even smaller, that's my idea at least. What a developer suggested was to actually add a opaque one pixel outline all around the applet, which hides this effect, but I mean, we can do better, and we don't plan to do any outline, but maybe we'll do, I don't know. Let's also make right into the applet, so that we know we are using the correct SVG, as I've said also in the last video, which is like 10 minutes ago for me. Okay, it is red, so that is working, and the corners still have the bug, so we should make it even smaller. Okay, so bye-bye red, and you too. Let's go with very small and see if there's any issue with that. Let's actually, okay, let's try this one first, on the top corners, like just on the top corners for now and see if it works. Well, now the effect is much less visible, maybe it's the wallpaper. Let's try to switch to the next one. Okay, looks good, looks good, looks good. I mean, if it works, I think I'll just go with this. It's ugly, but I prefer it working. When you open up the start menu, maybe I shouldn't tell you this, because maybe you hadn't noticed, but when you open the start menu and then close it, you can see that there's this white line at the top that appears when it's moving, and it's very likely, like I'm pretty sure, that that white line is also when the applet is actually drawn one pixel below the mask of the contrast effect. So we'll get one line of contrast effect. So now comes the lazy part, sorry, the boring part. Lazy, that is me. And it's to actually do this operation on every single mask that we have, and we have a lot of them. So let's start. To be honest, the more I tweak with the Cadiz SVG theming, the more I don't like the idea of using SVGs. They're a bit too unreliable. In the future, we're starting to talk about possibly doing a new theming system, hopefully, I mean, not hopefully, probably without breaking existing themes so that people are happy, but yeah, starting to say, hey, you can switch to the new theming system. We're talking years from now, so nothing to worry about, it's just an idea for now. But yeah, we also have little to no idea of our new theming system could be, we have a couple of proposals, but nothing that we can act on already. I'll also say, since I don't have anything better to do, the floating panels, that's still something on my to-do list, the issue with those right now is that they need client-side shadows, which is tough, like really tough. So just making the panel float is easy, drawing the shadow not easy at all. I had an idea of telling themes that they can have floating panels, but without shadows, like at all, which is a bit of a pity, but actually implementing CST shadows for the background, actually implementing CST shadows for the panel seems like something that would or maybe will take a lot of time, so I need to look into that. Right now, I'm focusing on making Plasma just look good, okay, no issue, because the last update, 5.22, brought in a bit of bugs, so I want to start fixing bugs like there's no tomorrow. Okay, so that was it, I think we've done everything, so let's commit, make mask smaller on corners to prevent broken pixels, bit push, origin, work, Nikolov, what's the name again, fix light corners, and let's make a request for this one as well. So let's include a screenshot of that, so I don't know if it will be accepted like this, because it's not the prettiest solution, but it is a solution, so maybe it will. Anyway, one way or another, we will fix this bug, so bye if you want me to continue doing this kind of stuff or this kind of stuff, feel free to subscribe, blah, blah, blah, blah, and I've also got some links that should like, swipe in, slide in, sorry, right now from the left side of the screen with the donations, thank you for those donating, and if you want to make me go forward in my free time, donating is a good way of giving me motivation to do this, so bye for now.


Thank you. I know everyone always looks forward to the regulatory panel.  So we're going to have to bring the regulators into this story. I'm here. Beyond you. All right. So that's what we're going to talk about. The regulators have to understand what the industry is doing with open source and they're going to have to use it themselves. And you and I know that that conversation, if you were going to estimate the percentage of people in financial regulatory agencies that even could define open source, what percentage would you guess? I mean, 1% would be charitable. Me too. Exactly. So we're at the very, very beginning of this conversation. So as Gab said, you're a unicorn really in the government. You're the only head of innovation at any of our federal regulatory agencies and really almost any financial regulatory agency who's actually a tech guy. Do you want to take a moment to, I know you know a lot of people here already. Do you want to just take a minute to talk a little bit about your background? Sure, because I love talking about myself. Yeah, so I've been in tech since the early 90s. I go back to the first web browser. I'm an artificial intelligence researcher by background. I was one of the first guys to put Linux on a spark pizza box. If that dates me horribly, which I'm sure it does. But over the course of a few decades, I was at New York Stock Exchange. I've done a couple of startups in cloud, biotech, AI. And last year, I've had this interesting bounce in my career where I'll go into an industry and I'll go off and go do something nonprofit or do something fun. So I've done aid work in Africa. I'm a college professor and some other stuff. But what happened last year was really interesting. I was, I just sold a company and I was just kind of sitting there thinking I could take 2021 and sit on a beach, basically. And happened to be on a panel with the current chair of the FDIC, Yelena McWilliams. And within about 15 seconds of that conversation, Andy and her chief of staff started blowing up my phone.  They took two years to find you. And I actually tried to help them put other people in this job. In fact, I think it's possible. One of the people that I was trying to get into that job is sitting here right now. I'm not going to call him out for anything. But it's, it was basically there are very few people who could get me to join the U.S. government. You're going from tech going from startups into the U.S. government is not a natural transition. I had, you know, hair just like Antoine, like a year ago. And but the whole point of doing it was because we need more people with tech experience. We need more people who have, you know, who are totally comfortable getting on GitHub and talking about something. We need people who can sit there and explain the broken metaphor of a pre-web relational database model, which has so many people, especially the thousands of lawyers I interact with, think about technology that we have to talk about things in different ways. So earlier we heard people talk about moving from centralized to decentralized, right? That's a great piece of logic. Everybody here gets it. That can take three hours to explain to someone who, you know, got out of law school in 1965. I've had, you know, senior members of the U.S. government ask me, you know, why is, you know, why can't we get rid of the dark web with section 230?  And at the end of the day, legislation has a place, regulation has a place, but tech has to be part of those discussions. And so my role in the U.S. government right now at FDIC and across the other agencies is really just to be a technical voice that can explain the massive amount of evolution that's been going on. I mean, the banking system is catching up on decades of atrophy in some ways into something that's going to be much more meaningful, but it's 20 years of work in two or three years. And so there's a lot of change that has to happen to make that work. For those who don't know, the chairman of the FDIC, Yelena McWilliams, is a real visionary leader in this. She's really following whole new ground. So you and we at AIR and Finno's together are talking about how to go about this strategy. If everything went as you would hope and put the time horizon out five years, 10 years, whatever you want to pick, how would the financial regulatory community and its mirror image and the risk management community in the industry, what would it look like? What would be happening? Well, I'm going to preface this by saying this is my dream and my dream alone.  So I will say this is my dream. I would love it if when we pass legislation, there's open source code attached to it. I would love it if every... I, to give you guys an example, thank you. I'm very happy for the applause. But like I said this in a meeting with a very senior person that I deal with often, and then it took me an hour to explain what that actually meant. And so I would love it if we got to a point where we say, okay, there's regulatory clarity, and that that's represented in code, and that then anybody, whether you're a FinTech or a tech company or a community bank or one of the G-SIFIs, whatever, I always forget that acronym, has a clear and concrete understanding of what's there that everybody can level out the playing field a little bit. I've been in and out of open source, I mean, pre-new. I mean, that's how I've been doing this. And I got to say that when you bring in standards, when you bring in transparency, not only do you accelerate innovation, you make it more accessible, and that juices the economy, it juices the opportunity of getting more people in. We've talked about diversity already this morning, which makes me incredibly happy to hear that, but we get to do all those things. And we have tremendous risks in the system. I very publicly have talked about the risks associated with post-quantum encryption and some of the things we have to do to get in front of that a few years off. NIST is doing some great work, DHS has a great quantum strategy, but there's some huge risk to the financial system if we don't get in front of this. Absolutely, yeah. So this audience knows the benefits of open source, but putting the regulatory lens on it, give us the list of the problems that we could solve with financial regulation if we brought, appropriately brought open source into it. I mean, yeah, that timer does not look like we've got a lot of time. I really break out the financial system. You've got front office activities, which we really need to do more to get better CXN, more dynamic versions of CX. So if somebody wants to go sit in an office with somebody and have a conversation, they can do that. But if they want to do everything from their phone, they should be able to do that and everything in between.  Millions and millions and millions of people days a year are spent copying and pasting fields from Excel spreadsheets into other Excel spreadsheets. And there's risk in that. There's friction in that. If we just got our hands on data models and standards around data and APIs and API standards, we would do a tremendous amount. I told the story of the creation of FIX at NYSC and the exchange systems because I was part of that as just what it did. We went from $45 a trade to now zero. We went from 15,000 transactions per second per node to just north of 400,000 in six months by going through that. So just imagine if you can create that kind of transparency and frictionless transactional activity and data standards. All of a sudden, the regulatory job becomes significantly easier. Regulatory burden goes down both in terms of us trying to run a shop, but then also the people we have to interact with. And you lay the tracks for interoperability of these systems. You break out of the vendor capture situation, which is unbelievably powerful. Yeah, if you ever want to look at a really terrible situation we have is look at some of the legacy banking technology providers and some of the contract structures they put in place on banks, especially community banks. It's ridiculous. And another one is to get tech talent into the work, which is so hard for the government to do. It's just unbelievable. Okay, we've only got a minute and a half left. So what's your call to action for this community? These are the people who can help solve this. And again, all the dreams, I'm a former bank regulator myself. I was deputy controller of the currency. All the dreams that the people here have for transforming finance with these open source tools are going to butt into a wall with regulatory problems if we can't solve the regulator half of the equation. So now you got a minute left. Yeah, I would say if I were to ask everybody here to do three things. So I'm all about three things because it's usually you can remember them or you can forget the third one. So the first is, you know, be proactive on the regulatory front. If you're operating a space that's even adjacent, you know, make a point of reaching out or if you're dealing with any of the federal agencies, you can connect with me and I can find you the right person because we're not always the most straightforward about that. So one is engage, engage early and often.  A number of institutions have gotten very smart about doing that. So like we get briefings from tech companies and I, you know, they tell us what they're going to be doing over the next few years. And we're like, okay, great, we can, we can start to get our head around some of these things. And I got to tell you, there's some amazing innovation in the pipeline. I'm just so excited about. So the second thing is don't lose faith on this. This is going to be a long haul. I don't know if it means, you know, when Gebs kids are, you know, giving him grandkids, I don't know if we're at that timeline necessarily, but we're, you know, it's somewhere between that and presidential administrations. We're somewhere in that band. I'm not really sure where. And then the third thing is this is the best time ever to be in the space. I think back on like when we were building some of the first credit card payments infrastructures in the nineties and we were having to hand code every single thing. We couldn't even get C compilers to play correctly together on different platforms. I was a fan of all tricks. A friend of mine was a was a son OS guy and it took more time to get our code to change going between the two platforms. Now I can probably all of us could sit in a room for an hour and a half and build something 10 times better than what became the first payments gateways. So you are in an amazing position to drive the market and you're in an amazing opportunity to really build it in a very different way. That's more transparent, less friction, more inclusive and more representative of the people out there. And let me just say we have a sing led by David Eric of air who's here somewhere and Ian Holograd of ING and we're trying to solve regulatory problems and have a github set up for this. So join in. We really need everyone. Yeah, it's possible. You'll hear me trying to explain parts of the banking system in the in the in the github. There we go. Everyone join me in thanking Seltan. Thank you.


But Jonathan de Bourbierie has been elected 9th president of the Eger Youth Council. He was elected in a keenly contested election that held at the Eger Warri in Yanigwa, the Bayousa State Capitol. He polled 47 votes to imagine victorious ahead of eight other contestants. The election earlier built for Wednesday, July the 19th was postponed after ex-President Peter Ignbifant abandoned the process halfway. Today, the John Nation, who bears the greatest breadth of oil activities in our region, is the least participating group in this country. We cannot continue to lay the golden egg and have nothing to show for it. It is my honest conviction that we shall challenge the Southern School to ensure that our people have the space to participate in this oil and gas business that is happening in our region. Today, they are piping gas from our region to as far as Morocco, and there is no government participating. If we are united, I can tell you this country will listen to us so that we can stand strong to defend our people and make sure the benefits that accrues to our oil resources in our region benefits our people. Nobody is a winner.  We are all winners because the John Nation will win.


But, you know, you do see that you're going to be done through, the spirit's going to use the body and going to use the world and the symbols of the world in a very expressive function that's part of extending. And then at some point when you really get rinsed with that, then you start to become totally disidentified with the doer. So there's no difference between when you seem to be doing something and not doing something. It all kind of just merges together, your whole perception merges together into a unified perception and the doer is gone. So you have a still mind, you're left with a still mind and it's totally irrelevant whether the body is active or inactive. You don't have to be in lotus positions and breathing just a certain way and doing all these techniques. You know, you're totally released. You're the dreamer of the dream. You don't need to be concerned about rituals or postures or all those little techniques anymore because you're back, back much further in the mind. Yeah, and what I'm hearing, what you're sharing, I feel it's a call to step into your inspiration, really find what is your passion, what is your heart calling you to and to really step into that and that's the way the spirit works.  And that's what it is. It's always teaching, the spirit is always teaching through attraction and bringing you deeper and deeper using the symbols, all the symbols. So it's never about pushing anything away. It's not unique. Don't do that, don't do that, don't do that because then you will experience truth. No, allow the path that the spirit asks for you, allow the use of those symbols, allow the use of your inspiration or your passion or the things that you feel really good about and allow them to be used in a very helpful way to bring you deeper and deeper in the awareness of who you are. That is very gentle and that is how the path of the spirit is. So what did you say then that during the period born of the refugee begin by asking the Holy Spirit to bring what you've just said about? Yeah, even just what do you want me to do? Really being in constant communication with the spirit, for me prayer is not an activity. It's a constant state of mind, of openness to the spirit because the spirit is really talking to us all the time. We're always in contact with him except when we shut ourselves up from him. And so keeping your mind open and asking for guidance to the spirit for me is just a way to open up the channel so that you can be in communication with the spirit. It's about joining in the present moment with the spirit and then the form will be used in order to keep you in this awareness of the spirit. And so for example in the community everything we do we use so many projects, so many artistic activities only for one thing. We have absolutely no future goal about it or no outcome. We use them for one thing is to focus our attention on the presence, on the spirit and to really be in connection with them all the time. And that just everything else falls away because your devotion to the presence is what makes you experience what the presence is about, what your true nature is about.  It won't work but it might take far much more time and it can be very joyful. So I feel like that's really you know just stepping into your joy and stepping into fully living your life by just eroding that. It's just a really great thing to do. It's huge to give yourself allowance and permission to live by inspiration instead of fear of consequences. And those course and miracles work progresses are designed to take you right into the heart of the inspiration. What you use less than 50, I think of less than 50 I am sustained by the love of God. You get so specific there, you believe you're stained by everything but the love of God and it's like okay here we go give it to me straight. Pills, money, protected clothing, being liked, knowing the right people an endless list of nothing that you endow with magical powers. So then you get to less than 76, I'm under no laws but God's the laws of economics you know the laws of medicine you know the laws of friendship oh come on come on. You mean the laws of friendship or ego? I thought we're supposed to be friendly and now you're saying the laws of friendship well the laws of reciprocity you know the laws that what's a good friend what a good friend should do and how a good friend should act you know it's all past associations. Ego has invented friendship even friendship oh come on I can see economics you know Marxism and you know I can see that only but friendship you see he's being very specific and he's saying no the ego even invented its own laws of friendships and you know that the ego invented it because you can turn from happy to angry with some really close friends I can't believe a friend would never treat me that way haha we stumbled upon the laws of friendship and they're made by the ego not by God and yet when we forgive when we when we follow the miracle we actually become very friendly but we're not bound by roles and expectations of the government that friendliness it's just friendliness at the moment friendliness of being spontaneously sourced by your creator and experiencing miracles and that's why when people say oh David you're very kind you're very friendly I've got a one-on-one schedule for Sacramento and I look back at the reference as a woman had written me before she said questions you wrote to me before was are spiritual teachers ever mean? the kind of questions I get she said I have a spiritual teacher and sometimes he's just mean and can that be from the spirit can the spirit be mean and she said I think sometimes he's really hard on me and I said well it's I said she said to me you know have you ever been mean that's the kind of stuff and I said well spirit can come through you because the spirit is so uncompromising unless you're yay be yay unless you're may be may there's not going to be a wiggle room with the Holy Spirit it's going to come through very clearly and directly in fact Kathy was introducing me saying I said in an authoritative voice not authoritarian authoritarian is like a higher lower superior inferior authoritative is with certainty with clarity Christmas that's your yay be yay that's your may be nay and the ego at times will react to that too if it wants the nay to be a yay that's mean but actually when we're really clear there's actually a gentleness and a friendliness that comes even with the authoritative words there's a friendliness there's a kindness there's a sweetness behind it that you can really feel because there's a non-investment in outcome we were talking a little bit about that today because in our mail so often as the guidance just rips through rips through rips through rips through and pours through and then oftentimes there'll be other people that will kind of avoid delay not follow the guidance and then sometimes she'll just smile and say I told you where you found yourself repeatedly offering the guidance of the spirit which then is avoided denied delayed and then she watches and play out for five days or five minutes or whatever but it's very soft it's just a soft like the spirit is guiding us to help us it's offering us wisdom to help us to save time he's not trying to delay so you heard the save time so that's good


Hello friends. I am Sanjay Gupta. In this video, I am going to demonstrate you how you can swap elements of two matrix in C programming. Before starting, you can note my information. You can follow or subscribe my YouTube channel through the url youtube.com slash sanjaygupta underscore tech school. You can download my programming app TechMS which is available on Google Play. Now first I am going to implement the solution using third variable. So there are two concepts available for slapping using or without using third variable. So first I am implementing the concept of using third variable. So I am including a header file stdio.h. Then I am defining main function. Inside main I am declaring two 2D arrays. A and B. Then a temporary variable T and INJ for loop counter. Now I have to read two matrix first. So I am showing the message enter first matrix using printf on one soul. Then to receive elements, I am implementing nested loops. So first loop is I which will provide row index. Second loop is J which will provide column indexes. Now scanner statement which will read the elements entered by the user in first 2D array. That is A. Now I am copying these instructions and I am pasting. Now I am converting this first into second and here A into B. So this way you can see through these line number 7 to 12 first matrix elements will be received from user. And from line number 13 to 18 through these instructions elements of second matrix will be received from user. Now I have to apply the logic so that I can swap the elements using third variable. So again I am implementing loops. So again I am implementing nested loops. So inside this J loop I have to implement the logic. So I am applying T equals to Aij. Then Aij equals to Bij, Pij equals to T. So this is the first logic which is swapping elements of A and B matrix with the help of temporary variable. Now I have to display the elements again on console. So I am going to display a message. Elements of first matrix. Now for loop. So again I am implementing nested loops so that I can display the results on console. So I am printing A matrix first for completion of J loop. I am going to use slash n because I want to print rows in separate lines. So this will print first matrix. Now I am copying these instructions and in place of first I am using second and in place of A I am typing B. So this way I have implemented the complete code. So now from beginning you can see here first matrix reading instructions are written. Then second matrix reading instructions. Then I have implemented the code for swapping. Then you can see I am printing elements of first matrix and then I am printing elements of second matrix.  I am executing this code now. Sorry I have forgot to write semicolon here. So it is asking for the elements of first matrix. So I am entering all ones in first matrix. Now it is asking for the second matrix. So here I am entering four at all places. Now you can see the output. Previously first matrix was 111 and now it is 444. Previously second matrix elements was all four. Now it is containing all ones. So this is the swapping of two matrix with the help of using third element or you can say third or temporary variable. Now I am removing this temporary variable without using third variable. So I can remove this D from here and now just I am modifying these three instructions. So I am making these instructions as comment and now I am writing new instructions. So these instructions are aij equals to aij plus bij. Then bij equals to aij minus bij. Then aij equals to aij minus bij. So this way right now I have implemented the code which will swap matrix sorry which will swap elements of two matrices without using third variable. So again I am executing this code. I am entering elements of first matrix all one. I am entering elements of second matrix all four. You can see the result again swap elements are printing first matrix. All elements are four second matrix. All elements are one and previously picture was different. So this way I have implemented both the logics using and without using third variable swapping of two matrix in C programming. I hope you have understood the concept well. If you want to watch more programming related videos you can follow or subscribe my YouTube channel through the URL youtube.com slash sanjaygupta underscore tech school. You can download my programming app TechMills which is available on Google Play. Thank you for watching this video.


So, for our next speakers, I'm very happy to welcome Caroline Mürk and Zoom. They will both present to us what they experienced and how they hacked and tackled the Korean militarized zone, the zone between North and South Korea. Caroline is a Franco-Korean anthropologist and an artist who graduated from Chelsea College of Arts in London and he has in Paris. And Zoom is a Korean artist who graduated from art school and sub in 2006. So, I'm very happy to welcome you and we're now very eager to hear your talk. Thank you very much and thank you for joining us. My name is Caroline. Thank you. I'm speaking to you from Paris right now and Sang is speaking to you from Seoul. So, we are very happy to give you this talk about the DMZ. So, our topic is about hacking the DMZ but in artistic way and for that we want to give you an insight of the Korean culture right now. So, that's why Sang will give you some information about what's happening in Korea. So, I'm an anthropologist and I'm an artist. So, meaning that I study people and the way they live and I try to understand why they think the way they think, why they act the way they act. As an artist I try to express my vision through different artistic medium and through creativity. So, I started to work on the DMZ in 2012 and in 2013 I had the chance to paint the Berlin Wall. And so, I did that during the night so that was very quick. And what I wanted to represent was the fact that Korea and Germany have a similar history, especially after World War II and during Cold War. So, on the wall I painted two faces, those two faces are Korean masks. And those masks were used during popular theater and the popular Korean theater was a criticism of the ruling and governing class. So, on the next slide you can see me painting the wall during the night and there were two kids like looking at it and they were saying, oh, the faces you're painting, it's anonymous. And I was like, no, it's not anonymous, those are Korean masks. Then the next day in the morning I went to see if my graffiti was still on the wall and it was still on the wall. And I was very happy to see that people were taking pictures of it. So, well, this was my vision of DMZ at the time like almost a decade ago. So, Sang, can you tell us about you and about your work as an artist? Okay, thank you. Hi guys, I'm Sung, I'm a visual artist and I'm living mostly in Seoul. And in my artwork I've been concentrating on collecting data. And for example, as you can see here, I've grown up a plant and I collected data through sensors and the data goes into computer to make a 3D-shaped sculpture. And I print them out and stick them together and made this kind of sculpture in digital way. So basically that's what I'm doing. And in my work I've been applying many different kinds of techniques such as robotic movements. You can see here that the body movement of the audience can control the robotic sculpture, for example. And some performers use the robotic sculpture as a tool. And also some interactive animation mapping techniques that I'm using. And the audience can enjoy the animation by the motion of the audience. So like this. And also I've been experimenting some interesting animation and we can enjoy that with some Google in VR mode. And also I've been practicing some live performance with interactive audiovisual. So which means there's some performer making some sound and sound effects, sound control, or make changes of the animation in the world. So my project, my code with the title Prometheus 3, the image you can use here is the recent version. And you can find more details on my website or you can ask some questions through my email. Or even through this link you can check documentation video. Thank you. So about hacking the DMZ, for people who work in information security or cyber security, you might know the subnetwork to protect your internal network. However, I'm not going into technical details about that, but I will explain what inspired this subnetwork. So what inspired this subnetwork was the border between the two Koreas. So the DMZ, the Demilitaries Zone, was built in 1953 after the Korean War. As you can see on the map it's a border and the length is 250 kilometers and it's four kilometers wide. At the border there is this place called Panmunjeon and it's a joint security area where all the official negotiations take place. The official negotiations between North Korea, South Korea, the United States and the United Nations. So when you visit the place you can see many flags. So at the north of the border you can see the North Korean flags and at the south of the border. You can see the South Korean, the United Nations and the American flag. So it's a very international place and because it was built after an international conflict. So about the DMZ history, this was a battlefield. So this was a battlefield between the communists in the north and the capitalists in the south. And from the archive, from the audiovisual archive I found, I decided to make some paintings just to express my feelings about this atrocious place. So I used Chinese ink and I just drew what I felt about what I saw and what I experienced when I visited the place in 2012. So it's a sad place. I mean, it was a sad place but now it just became something different. And what is the DMZ now? So can you show us the slide? So the DMZ is more like Disneyland. Yes. And it's what I call the military turn into Disneyland. So you can take pictures with soldiers like South Korean soldiers and you can buy some North Korean wine if you want. If you want to visit that place, you need a guide and all the guys tell the same thing. If you visit the place from South Korea, so you will hear a lot of propaganda against North Korea. If you visit the place from North Korea, you will hear a lot of propaganda against South Korea. And so it's a bit overwhelming to visit this place because it comes from a very sad moment in Korean history. So it turns into like a market where you can buy some patch and you can buy many goodies about the DMZ. So the other thing which is very interesting and which is known by the scientific community is that the DMZ is now has grown its own unique biodiversity between landmines. Because you have to know that this border and four kilometers wide you have many landmines and it's the no man's land, no one is crossing. So vegetation, plants and animals came to make their own home in this border. So you have eagles, you have deers and I heard that you also have a Siberian tiger there. So the scientific community come to observe the animals, come to observe the plants and what the South Korean government wants, they want to preserve this place. So they ask the UN, so the UNESCO to label this place as you know like World Heritage, but it's still in negotiation right now. What else? So a song about biodiversity has made an art, has got this project of an art installation. And both of us we would like to make an art installation like the DMZ. So we're calling all the artists, all the tech people who are interested by this issue to join us and maybe we will be able to make something beautiful there. Because what do we want? We want peace in Korea. Peace is not, I mean there's the armistice, but the peace agreement is not signed. And what we will talk in this presentation is how it's supervised by the US government. So Sen, can you tell us more about the plant you collected at the DMZ and your project about it? Okay, Caroline. So before I talk about the project for DMZ, I'd like to explain a little bit more about the basic idea of my project. So my project called Prometheus String Project has this, as you can see, this basic process. So there's some data collected from Living Creature. And there's this artistic concept of data reflection, which means, for example, there's sunlight. And when the sunlight passes through a prism, it makes this beautiful rainbow. And I've got this idea that if I can change the data as numbers and pass through this data reflection concept, and it becomes a totally different visual or even the sound or movement. So that was the basic idea of the project. And this is, you can see a little bit more detail about the Prometheus String Project. So there's a plant that was with the plant that was our first version. And there's some sensors, connected sensor, analog sensor or temperature, humidity, UV sound, so about the details about the environment of the plant's growing process. And it makes, it decides the sculptures, shape, size or position, some details. And also the altitude or longitude of the project space can affect the deformation of the sculpture. And you can see how it becomes in shape. And these images are the images from the process. So on the left, you can see the serial numbers coming into the computer in real time. And those numbers decide the shape in every 30 minutes. So I've got different shape in every 30 minutes. And on the right on top, that's the image how the sensor or computer see the plant. And the last image is for preparation of 3D printing. And this project, Prometheus String Project had some evolution. Because I started this project in 2016. So for five years, the project reached seventh version. And during this evolution, I've been applying various techniques, such as robotic movement, audiovisual performance, et cetera. And also, I've been trying to match with some social issue on my work. Because what I wanted through my work is not just some demonstration of certain techniques or certain scientific theory. I wanted my artwork reflex where I live or where we live. So on third version, I've tried to match this project with some social issue. So I was invited from exhibition in Kwanju. And Kwanju was this very important city for its uprising for democracy in 1980. So I tried to talk about some subject of this movement on my work. And also, in 2018, I've got this idea of talking about DMZ. Because it was just right before the summit of two Koreas presidents. So presidents from North Korea and South Korea. And so I decided to make some project concerning of this event. So I've got the idea of collecting the plant around DMZ and make use it for my project. So this image explains a little bit more about how I can finish my project. So you can see here DMZ zone. And there's a Panmunjeon which Caroline explained. So the image is very small, but you can still see the two Korean president shaking hands that happened in 2018. So I make my work in Seoul. And it was 2018. I was making my sculpture. And it's 58 kilometers from Panmunjeon. But on the same direction to North and on the same distance. There's some train station in North Korea. So I've got the idea, this idea that I can finish my project by installing my sculpture around this train station. Hopefully, but DMZ zone or getting into DMZ zone or into North Korea as a South Korean. Still is impossible. So hopefully I'm hoping that one day I can install my work in North Korea. That was a brief explanation of my project. So perhaps the best place to make your installation would be the joint security area. Hopefully. So you talk about the train station at the DMZ. There's a train station, a ghost train station that is not functioning anymore. So in 2002, George Bush, the president George Bush came to visit that train station. And he made a discourse, which is very famous because he said that North Korea was the axis of evil. So he didn't plan for the reunification or the peace agreement at all. However, the train station is very strategic. So right now, like the North Korea and South Korea are talking about making a railway between the two countries. So because what you have to know is South Korea is like an island, you know, it's totally isolated from the rest of Asia. And you can only access South Korea by plane or by boat. So what would be like the impact of having a railway going from South to North Korea? Can you tell us about it? Yeah, so you see the image and the picture, there's the George Bush. And on the right side, that's our former president. So it was 19 years ago. And we were trying to connect or reconnect this two railway, and now it's cut. But after 19 years, so now we are in 2021, 21st, and what happened during that time? Honestly, nothing, because of the political reason. And so, but hopefully, in the recent condition of politics between two Korea, we are re-beginning of talking about this connection of two railway. But if it happens in real, you can see on the right side, you can see on the map, even from Europe to the extreme Asia, everything can be connected by train, by unland. And even we can transfer everything we want. And it costs much cheaper. And ecologically, it consumes at least the fuel. So it's a really good, not just in political reason, but economical or ecological reason. This is a big event. This will be a big event. And thank you. Can you show us the next picture? Yes. So imagine if all the Asian railways were connected, that will be huge. So let's talk now about some stereotypes and why and how they're made. I think stereotypes, Western stereotypes of South Korea and North Korea is because of the Western press and also we always hear things from the US viewpoint. So I guess there are some truths behind stereotypes, but today we're here to explain more what's behind those internet memes, for example. So we know that there are some hackers in North Korea, the cybersecurity community in the United States were attacked. And but we have also the K-pop, South Korean K-pop, and we have also the South Korean gamers. But behind those people, there are politics and Sung is going to explain what's behind it. So you have to know that the United States of America have a huge power on Korea, Penang Sula. So on those pictures, we can see Trump and Kim Jong-un and the South Korean president. So can you tell us about those pictures, please? So I remember that was 2018, just right after the United Team during the Winter Olympic Games in Pyeongchang. And there was the summit between two Korean leaders and they agreed. So just between North and South Korean prisons, they agreed for the end of the war. Because in Korea, we are still in the war, but just we are getting some polls. So that's why around the frontier, there are so many military units and this impossibility to go and come. But in 2018, so two countries tried to end this war. But unfortunately, we need agreement of United States presidents for this contract or to sign up. So Trump, former president of USA, made some good mood for that, to sign that. But just right before the meeting in Singapore, he changed mind so they couldn't sign on the paper. So we just signed on a paper that North Korea had this plan to open their door to the world. Then they removed all the militaries around the DMZ or frontier. But we couldn't do that because of the United States president's changing mind. So that's what happened in 2018. So as you see, we need only one signature from the US president to have peace in Korea. So the question with Biden signed a peace agreement, we don't know, but we would like it. So you talk about the military power of North Korea. Can you tell us about this tradition before every election in South Korea? So the missiles, so North Korea signed missiles before every election in South Korea. Can you tell us more about it? Yeah, it becomes like almost you mentioned the tradition, but yeah, this is a silly thing. For South Korea and more for the old generation, the communist or communist government is still main enemy. So they like to use in politics. So just right before the important election like a presidential election or election for a deputy, they call North Korean government to launch or to start some experimental launch of missiles. So most of young people know about this details, but it still works for all generations.  And it was, I remember it was last week or two weeks ago, there was a launch of another missile in North Korea. So it's like fireworks, you know, you are now huge of it. It's still working. It's crazy. Okay, so about South Korea now, we all know Samsung and the Chibol power, but I didn't know that South Korea was making an artificial sun. So that could be like an answer for the climate change, maybe? Yeah, I've known this news from the newspaper and I read some article about that on that. So Korean scientists succeeded this artificial sun for more than 20, around 20 seconds. So that was the first time in the world that an artificial sun last that long. So that was that is a really good sign for the new energy to make energy. Because actual nuclear power plant, it makes a lot of, you know, a lot of waste. And it's contagious and it's very dangerous because of this possibility of explosion. But in this making some way, so making the sun, the artificial with this technique, it doesn't produce any danger or waste, nuclear waste. So it can be really a good chance to have the clean energy. No, so that's great. And, you know, South Korea is very, is very interested by, you know, preserving the biodiversity as we could see at the DMZ, you know, the South Korean government as the UNESCO to preserve this border as it is now with all these animals and all the plants. And because it's Easter weekend, so every April 5th in South Korea, there's a national event called Shinmugil. So and it's a very, it's an ecological movement. So can you tell us what is it exactly Shinmugil? It's just simply a planting day. So you plant everywhere. But so I remember when I was a kid, you know, in the schools, in the school that we went to the mountain and practicing this planting the trees. And the Korean government is also helping in Mongolia, because, you know, in Mongolia, there's some, some desert is expanding. So and it influence it makes, you know, the very huge dust wind and it reaches to Korea until Korea. So Korea government went to Mongolia to plant more trees. So Shinmugil, you know, become a national day after the Korean War. Okay, because we they were not enough trees in the mountains. So they asked the population to participate in this national effort. And now we have a very nice forest. And yeah, bamboo forest. Sorry. Because, you know, when the Korean Korean people started this Shinmugil day, they, you know, when I see when I see the old really all the photography of the landscape in Korea, for example, like and around the end of the chosen dynasty.  But now in South Korea is everywhere is covered by trees. And so now we even talk a little bit more about this even this planting day, because, you know, now we have enough trees, I think. Okay. And people love hiking, you know. So thank you, you know, for listening, if you'd like to join our art movement to get a peace agreement in Korea, we would love to hear from you so you can either write to us, either write to me or write to Sang. So we are very pleased to give you some information about our country. And we'd like to hear your questions. Thank you. Thank you. Yes. Thank you very much for your presentation. Information for the people on the stream, if you have any questions, then you please write them into the questions pad. The link to the questions pad is on the talk side. It's a bit hidden between your two bios, but it is there, I can see it from here. You can link and put your questions there. And we can start now with the first question that has been there for almost all of the talk. Maybe you can answer that individually. Did you ever cross the border? No, no. I did my military service for two years and I did some training, military training inside of DMZ, but it's highly prohibited and it's secured by a lot of military troops, so it's really difficult. But you can reach it to some tourist sites. I did not cross the border yet, but I hope one day I will. But recently, it was just last year, the North Korean leader Kim Jong-un mentioned, that was for the first time by a North Korean leader. He mentioned the beloved South Korean. He used love, which means he has this will to open. We are not yet talking about reunification, but at least ending war. We just crossed the border and it needs just the signature signing by American presidents. Okay, let's see. So there is the next question is a longer one. I hope that I get it all. How can we explain the discrepancy between Western media perspective that focuses on the DMZ and the Ganghwa Peace Observatory where Koreans send wishes for unity of Korea? Which perspective is more Korean, DMZ or Ganghwa? Can you repeat again, please? Yes. How can we explain the discrepancy between the Western media perspective that focuses on the DMZ and the Ganghwa Peace Observatory where Koreans send wishes for unity of Korea? Well, about the DMZ or future of the DMZ, two governments have had this plan to preserve the DMZ as it is. And try to develop the tourist side or the research facilities in a minimum way. And also from many countries, the researchers are coming to the DMZ side to do some research already. But the DMZ is not an issue, a well-known issue. It's not yet in the Western country, I think. Yes, I think the question ends a bit about maybe also where's the difference between how Koreans, I mean you as a South Korean have a South Korean perspective and how the Western media looks at it. I mean, for myself, I basically know that the DMZ exists and through this talk I learned a lot. But how is the Korean perspective maybe different? No, I think we are just focusing on that land untouched during more than 60 years. So absolutely we often say that absolutely we make nothing inside. So that's the main idea and the South Korean government is keeping this idea for the future. So there will be so many researchers of the biology or some other scientists will rush to DMZ in the future if we finish the world. And the thing is the DMZ is controlled by the UN and the US. So that's why we all get the Western perspective because it's the Western powers who govern this place in a way. Yeah, the funny thing is when South Korean government or some association, private association try to support some food or some materials for North Korean people, they need permission from UN to cross the border. And in many times UN denies because in United States policy they forced to block North Korea in total way. So it's even not possible to help them. That's the actual condition. Yeah, and that's the question about crossing the DMZ. So there's this woman association which was funded by a Korean American woman and they managed to cross the DMZ with other Korean American women but they were Americans. So they had the authorization by the UN and by the US government but inside South Korea or North Korea is very difficult to get the authorizations. So I think that explains how this is this place the DMZ is really an international hotspot regulated by external powers. So for the very last question, I guess you heard that before but the asker is saying this sounds like propaganda. How do you feel about that? The propaganda from North Korea you mean? I think it aims at South Korean propaganda. It doesn't say but it sounds like it. You mean the last recent event maybe? It's the rest of the question. Yes, I guess they are aiming at that. Because around the frontier from both sides we put these huge speakers for the propaganda or some people send the balloons with some propaganda papers or some cars from both sides. But recently with the political good mood we stopped it for a long time but a few years ago in political way and we had a different situation with former president.  South Korea. It looks like a game now. All this propaganda from North Korea and South Korea is becoming a game. The missile or the balloons or the speakers. Of course there is propaganda from South Korea of course. In a way an art installation if you want. Yes, absolutely. Okay, thank you very much. We've run out of time. I guess people can contact you still via email and from the slides I think the contact is there. Thank you very much for your talk and for the Q&A and yes I wish everyone a pleasant event. Thank you very much. Thank you.