My name is Michiel Rook, or as most people abroad call me Michael or Mike. I'm from the Netherlands, which explains the name. Today I'll be talking to you about database schema migrations and not just any schema migration, but a schema migration that doesn't cause downtime. Before I begin, I'd like to introduce myself. At this point, I'm a freelance developer and a coach. I do a lot of consulting and coaching around continuous delivery and DevOps. If at any point you want to reach out to me, that's my Twitter handle right there. I'll also make sure to post the slides on there and also join in, of course, after the talk. And if you have any further questions later on, then please reach out to me. I mentioned that I do a lot of consulting around continuous delivery. And for those of you that were here last year, some of you may have been present at one of my other talks, which is called The Road to Continuous Deployment. A talk in which I explained a case study, a project in the Netherlands, of which I was a part that proceeded on to continuous deployment, which basically means deploy every change that is automatically tested and verified to production, which for that particular company resulted in 50-plus deployments per day to production. A company that basically ran a 24-7 operation, so high availability is definitely a concern for such a company. And when you add database migrations in a mix, changes to databases, to databases, to database schemas, then for a 24-7 company that is highly available, downtime is unacceptable, if you can avoid it, that is. So that talk, I've given that a few times, not just here at PHP UK, but also at other conferences. And one of the questions I keep getting asked is going to production 50-plus times per day, that's very cool. But we have this database, and we do schema migrations as we do code changes, and we need to take the database down or the app down while we're performing the database migration. So how can I proceed from the situation we're in now to the situation you're describing where you're going to production 50 times per day? So that triggered the talk, or triggered me to write this talk, and so here we are. We're going to talk about database schema migrations, specifically database schema migrations. And let's go back to what a database schema is. Well, it could look something like that.  And at some point, you have a database schema that is not sufficient for the direction your application is going. And then we end up with a migration. We end up with a change to our database. And of course, this change can be manual, but at this day and age, especially if you're going towards continuous deployment, then automation is the name of the game. In this talk, I'll typically refer to database schema migrations as being SQL. And when we consider SQL database migrations, most tools and most talks and blogs about this topic consider a migration to have two directions, up and down, where up means I'm going from a previous version of my database schema to a new version, and down means I'm basically going to revert that change and go from version X plus one back to version X. Okay. Now, typically, these migrations are run in transactions within your MySQL or your Oracle or what have you. And let's take a typical example tool that you would see in the PHP world, which is doctrine. Now doctrine, when you write a migration in doctrine, it's basically PHP code. So you would write a simple class which extends an abstract migration base class. And there are two methods in that class, up and down, just as I explained earlier. The up has some SQL to modify things in the forward direction and the down if applicable has some statements, SQL statements to modify things in the backwards direction. Now, if you would then apply it, doctrine, make sure that the database, the version of the database is actually tracked. So to do that, it adds another table. By default, it's called migration versions. And any migration that successfully applies is added to that table to indicate to you that that migration is actually applied to the database and that your database is now in state X plus one. Personally, I am very much a fan of a tool called Flyway, which records a little bit more context. Now Flyway, in the default mode, uses straight SQL scripts. And it actually does not consider down to be a valid direction. And I'll go into that in a little bit. So it's just straight SQL. And when it's applied, it also records it in a versioning table with the addition of a few extra, a little bit extra metadata in that table. So not only do we see which changes were applied, but also when, by whom, what was the script, how long did it take, all those things. So there's a little bit more information for you to have. Now, I talked about the down migration or the down direction rather in a migration and down means we undo a migration that we have done. So another word for that would be rollback, rolling back your database, right. Now, I want to get into whether rolling back or actually rolling forward is the way to go. Now let's let's look into why a rollback could be a problem. Let's consider destructive changes. A destructive change could be a long lift lock, which means that transactions that come in are actually blocked or rejected as they come in, which is a problem. You need to store those transactions or retry somewhere. So that's very destructive to your business at that point. Renaming things is of course destructive. And deletion is, if anything, is the most destructive thing. When it comes to, for example, my sequel or especially in the earlier versions, a lot of the alter table statements that you could come up with trigger an implicit commit. Meaning that whatever transaction you're in, if you do an alter table, the transaction you're in is actually automatically committed and a new transaction is started. Well, if you're at that point, and this is hard, well, it can be detected, of course, but then rolling back, what would that mean? Would that mean rolling back that new transaction and the transaction before that as well? If you want to view them as a single migration. Bless you. So in the sense of an implicit commit, well, there is no longer a transaction to speak of. So another thing is sharding. If you shard your database over multiple machines, and you shard on a specific key, for example, then rolling back means rolling back the schema migration means going back to all those machines and rolling the schema change back on those machines and potentially resharding if you have changed your shard key, for example, during that migration. And one of the more important things is if you have multiple applications, potentially multiple services attached to multiple databases that are part of a distributed transaction, rolling that back is going to be difficult, if not impossible. So another way of doing rollbacks rather than rolling back your transaction would be restoring from a backup, of course. That implies that the backup is fresh enough, young enough, and that you don't have a lot of updates going on between the time of the last backup and where you are now. Because you would either lose all that information or you need some sort of mechanism to capture all that all those changes and replay them onto that latest backup that you have. So I personally consider rollbacks to not be a valid situation or not a valid setup in the modern world with databases. If you can take your database offline for X time, sure, then you can rollback from a backup, but we're here to learn about database changes without downtime. So in that context, I don't consider rollbacks to be viable. Now, a little bit about downtime. Let's take a simple app with a database migration. Typically, in the pipeline, you would create a new package or a new tar GZ or whatever your deployment artifact is.  And this is very simple. You don't have to do anything to your database other than run the migration. Of course, you don't have to do anything fancy. The problem is running the migration that can take quite a while, depending on how big your database is. So that automatically determines the downtime. Now, what if you don't want downtime, which is why we're here? I don't think downtime is acceptable, at least not if we can avoid it in this case. And especially if you start going toward things like continuous delivery, where continuous delivery states that your code should always be in a releaseable state. So at any point in time, I should be able to go into the team room and say release now, deploy now, because continuous delivery stipulates that we should always be able to do that. And if the latest migration that you add triggers a two hour downtime, then the code is obviously not always in a releaseable state because then you need to find a deployment window. So continuous delivery is like that, even though the deployment to production is still a manual trigger, it needs to be always ready for that to happen. Now continuous deployment, what I've been talking about is code that passes all the tests and all the automatic validations is automatically deployed to production. So we cannot get away with downtime, especially if we do it 50 plus the place per day. So let's take a look at zero downtime deployments. This is something you would do on highly available applications or service. So let's imagine a load balancer between us between the application and the internet. And we have an app with a version one attached to that load balancer behind that load balancer. Now we have app version two ready to go. So we we started and at some point it boots and then we add it to the load balancer and it starts receiving traffic. At which point we take app v1 out of the load balancer and stop the instance or the container or whatever. If you do this right, then your end user will never know that app v1 has just been replaced with app v2. Maybe they will see some new functionality, but they should not have seen any downtime or any problems. So no downtime. Now in this case, we didn't have any migrations. So it's easy. We have no downtime. But what if we have a certain database state? Well, let's go back to app v1 and let's assume we have a database of version one. So app v1 expects the database to be in state v1 as well. We then start at v2 and at v2 surprise surprise expects the database to be in version two state. So at this point we have an inconsistent system at v1 expects the database to be in v1 at v2 expects it to be in state v2. It cannot have the same states or both states concurrently. So one of the two is going to crash probably or at least give us wrong results. So in general, to avoid that, the old app should always work with the new database state. Because of course the old app that is running now cannot predict in what direction the database is going to go. So we need to make sure that the database change is always backwards compatible to what we have running in production. With highly available setups, you always need to assume that at least two versions of your app are concurrently running in production. And if you adhere to this standard, then you should be fine. So it means that we need to decouple. We need to decouple a database migration from a deployment. And let's take a look at a few patterns that help us to do that. One of them is called the expand contract pattern, which is also applicable to code, the API development, but also to database development. And it stipulates very strongly that we should maintain backwards compatibility to whatever other system is relying on us. So let's take it, let's look at it from an API perspective. We have a bunch of clients that are talking to an existing API. And now we want to introduce a new version of that API. And rather than changing the existing API, which could probably lead to backwards compatibility issues with the three clients that we have. Now we add that new API and then we start deprecating the old API. And we say, okay, you have X amounts of time to switch over to that new API. And one by one, we switch over the clients to the new API. At which point the existing API is no longer used and we can take it out of commission, right? In database terms, it means that we can only do non-destructive changes. And let's go deeper into what they would mean. Adding things in general is non-destructive, especially because your old app is not relying on that to be there. It doesn't even know that it's going to be there. Adding tables, non-destructive, adding columns to existing tables, same thing. Creating indices, usually non-destructive, depends on the database technology. So now we have a bunch of tools or a bunch of things that we can do to our database to ensure backwards compatibility. If we do that, it means that we can always go a diff back, a diff encode. So we migrated the database to V2. Our app is now V2 in production. We see a problem with app V2. We can always go back to app V1 without having to touch the database. Because again, app V2 is backwards compatible, or rather the database V2 is backwards compatible with app V1. So whatever we do to the database in that particular change, it doesn't really matter. We can always go one version back in terms of the code. I want to take you all into a little example, an example to rename a column. Let's assume we have a table of persons that have a first name and a surname. And we're not very happy with the column name, surname. So we want to actually rename that. But again, without introducing downtime. So we're going to do this in a few steps rather than just in one step. The first step is we create a column in the table with the new name. So we don't actually touch surname yet, we just add last name to that person, to that table. We then start writing to both the old and the new columns. Whenever we do an update, for example in your doctrine entity or something, when we did set the last name in the entity, we also make sure to set the surname so that it is populated for new objects. And of course, we switch our get last name to using the surname in this particular case. And we may want to add an if there that if it's not set yet, then we get the last name. Then we start migrating the old records. So individual records that we did not touch, we're going to update them. Just to make sure that last name is always set in every record. And then we can start reading from the new column. At which point we can remove the old column and the code to deal with this backwards compatibility. And we actually switched. So rather than having it in one single step where we deploy the change to the database and the change to the code in a single package, in a single deployment, we do it in a couple of steps. We split it up essentially. So cool. That's simple. Well, not really. Of course, there are a few challenges. It's database technology after all. One of them is dropping a column on a large table. Depending on the database engine, that would mean a table lock for as long as it takes.  I cannot be any more clear about that. Another one is non-nullable types. So remember that I did add the column and I said that it was nullable. Or at least, you know, I added the FARCAR 255 and nothing else. But it means it can be null. If you say it cannot be null, then of course everything you need to do, is set a usable default value. Otherwise, you would have integrity errors when you add new records. You can, however, after you've done all your migrations, alter the column again to make it non-nullable when you are verified that every single record in that database or in that table has an actual value for the non-nullable type. I think things are if you migrate primary keys and then you have your foreign key constraints and stuff like that.  I've never needed to do that. At least not on an existing table. I want to discuss the concept of a feature toggle with you in the context of a database migration. Database migrations and feature toggle, well, feature toggle enables us or helps us to enable and disable individual features in code at runtime. It means that we have alternative code paths in the code. Essentially, it's a glorified if statement. If the feature toggle is on or evaluates to true, we have one code path. If it evaluates to false, we have the other code path. And again, we can switch that at runtime. By translating that back to an actual application, we would have two versions of a front-end page, for example. An old one on the left and a new one on the right. And a feature toggle, we can switch based on IP address, for example, or a cookie setting or whatever to have people see the new version depending on whether we allow them to see that. It's sort of A-B testing, but then on the feature level, on the functional level. If we're going to get to databases to database migrations, we could add a feature toggle at the writing to the old and reading from the new stages. This allows us to do the whole code change at once in the single deployment. And the code for writing to the old and the new columns would simply remain dormant in production until we enable that feature toggle. Same goes for reading from the new column, which means that we can do the code change at once. We can test it together, and we can even improve and iterate on that and test it in staging, perhaps. And at some point, when we're confident with it, we flip the toggle on production, and hey, Presto, our old column or our new column starts filling with data, and then we can read from the new column. Now, if you do a migration, if you add migrations, you typically want to test them as well. So I would strongly advise to keep them as part of source control, probably with the application that is actually using that particular database, or that set of tables, at least, and include a testing stage in your pipeline. So have, for example, an empty MySQL or a SQLite spun up before you run your tests and then apply all the migrations to that empty MySQL or a SQLite instance, just to test whether your migrations actually make any sense, whether they work. You can even add fake data to that to see how it would respond, not just to an empty database where you just test the schema changes, but also how it actually affects data that you have. And you can even, or probably should, run that on staging and have some sensible set of data on your staging or acceptance environment, which, as close as possible, mirrors the data on production. As close as possible is becoming more and more of a thing, especially now with the GDPR coming in effect in May, which, depending on how you read it, stipulates that staging data should be anonymized, or at least you cannot copy production data verbatim to acceptance, because typically the access controls to acceptance are a little bit more open than production, but you could run all that data through a filter or something and anonymize all the personal identifiable information. And again, referring back to the feature toggle, you can actually flip a feature toggle specifically for staging or acceptance and then have that test over there. Okay. Digressing a little bit into NoSQLLand, which is also known as NoSchemaLand, which is for our intensive purposes, is very cool, because we don't actually have a schema to change. There is no schema, so we don't have to do anything to change it. But if you do want to do data migrations, one of the options you have is migrate during reads. So as you do a read, you get the document, for example, from a MongoDB or CouchDB, you get the document in memory, and then some fields will not actually exist, because the document has been written before that field existed. You can then add some default values to that field, or rename fields in memory. And of course, you have to write that back to the database as soon as you are done with that migration. So in line, or in the background actually, as you do a single read, you will have some code that will change the document to the new state and then immediately write it back to the database. Now, that also means that depending on what you read, you will never touch all the records.  So while this is going on, you also want to run a background migration on all the records you are not going to touch, or you haven't touched yet. So in chunks, take a bunch of documents and modify them and write them back to the database again. The nice thing about that is that it has no downtime, but it does require some housekeeping in that you need to maintain a counter or a log where you have been in terms of the background migration so that you can resume with another chunk and another chunk. Okay, something I want to talk about is another challenge in migrating databases and that is a large data set. Large data sets and dropping columns, we also talked about that of course, but in general, large data sets mean long-running migrations, which in terms of errors, you will typically the migrations that I've had that run for hours and hours, they will fail right at the very end and rarely in the beginning, which is annoying to say the least because it makes debugging a little bit more of a problem. Long-running queries, especially if you have migrations let's say you split a street name and a house number that was one field and you want to split that. Now that is computationally complicated depending on the country you're in but if you could write a query to do that, that could run a very long time and that's something that you need to be aware of because memory usage is then a potentially a problem if you do things in memory or also in the databases memory and again, if you fail at some point in a migration or such a query where did you stop and can you restart or resume from the point where you failed and do you record that and also what is very important with these things is log what you do and log the progress of where you are. So again, it helps you to debug and eventually restart or resume your process. Yeah, one of the other strategies that is running migration on a failover so let's say we have a replicated database we have a master and a slave setup and both have the schema in version 1.0 and potentially even maybe not even a schema but just the database engine version and we want to upgrade either the engine version or the schema.   Yes if the migration on the slave fails it's relatively easy to bring it back we can simply pull it into replication again and either from an empty slave or the last known backup and it will catch up to whatever is reality on the master and we'll have a full cluster again and we can try again at that point. This is something that for example Etsy has done quite a few times to do with database migrations and they have seriously large databases so another strategy that you could use is introduce a message bus or a queue or something called Kafka but there are other technologies as well Rebinem queue serves well and let's take a look at what our world would look like then we have a UI layer which sends messages not directly to the back end in this case but through a queue or through a message bus and those messages are then picked up from the queue by the back end and processed and typically lead to state changes in the database and that database is then queried through a data layer by the UI so we have a complete loop now. Now if we want to replace the database technology one of the things we could do is simply take the back end out for a while and the queue will simply start filling up with messages there will no updates will not take place but we won't be down we can inform our users that we won't process any updates for the next however long we think it's going to take we add a new database or a new table and then we re-enable the back end and it catches up with all the messages that are in the queue and then it can process those on the database. This leads to a more general pattern called CQRS which stands for command query responsibility segregation which is a mouthful for basically saying we separate reading from writing so rather than reading and writing to the exact same database and database model we actually split the two right to something that is uniquely geared towards us writing that data very fast or at least very structured and then we have one or more database models that are geared towards us reading that data it also says that we can then store any update that we have in a log somewhere and CQRS marries very well with the thing called outsourcing. There is a talk later today I think about this particular topic and then when you look at that particular world it looks a little bit similar but rather than messages to a queue we have the UI sending commands to the back end. Commands basically saying to the back end this is what I want to achieve and when that is all validated by the back end it turns into events something has been done and those events are then handled and replayed or handled by event handlers and they in turn can influence multiple databases multiple different databases with different schemas, different models and if I want to have a completely new database model based on all those things then I can get any of the updates that I have in my log applied to the new query model and if I have seen the last update in my log then I use that new query model and otherwise a loop until I have replayed the entire event log to my database and so I can even use that to rebuild staging from scratch use the event log or the update log from production and rebuild staging just by running all the updates again onto a fresh empty staging database and of course we can then run it through a filter to anonymize the staging data now a couple of tools to help you of course we have the simple we have the typical migration tools there's flyway, doctrine I talked about, Fing has something for this there's Laravel and liquid base which is also a very useful toolset for these particular things but one very cool tool which I found out about last year is Percona tools online schema change and I'm not sure if this actually works on a box standard MySQL it does work on their Percona offering but what's cool about online schema change is that it uses triggers to do the whole thing we just talked about without you having to do all these things basically so what it does is it creates a shadow copy and that is basically your target table and that has the new schema version for you so going back to the surname last name we would have a shadow copy which has the surname or rather the last name sorry and not the surname and then we have a source table which still has surname and online schema change then adds a bunch of triggers so that any update to the source table which is still very much in use at that point is forwarded to the shadow copy right and then the tool starts copying the source data in small chunks from the source table to the shadow copy to the target table and at some point that process is considered complete and then the target table is renamed to the source table and without the application knowing about it your source table has now bumped up in schema version and of course the backwards compatibility in code principle still very much applies because now you have in production an app that is not aware that under the hood essentially a schema change tool and a bunch of triggers are taking care of this so at some point the process is going to be complete and then your source table is no longer in the state that you previously had so the app needs to be able to handle that otherwise it would still break I want to recap this talk if you do database schema migration do it in multiple steps rather than just a single step a deployment with the code and don't do any breaking changes always maintain backwards compatibility if you want to read more about this topic then I can hardly recommend refactoring databases and there's the accompanying website database refactoring.com and there's another github link I'll make sure to post these slides online and I'll join in later on so you can read that back on that all right if you want to reach out to me that's my Twitter handle my email address and my personal blog site and I would love for you to leave me some feedback on this particular talk at that join in link over there


Hi, I'm Paul Brown and we are here interviewing the keynote speakers for Cannes. We don't know at this moment if they will be speaking on Saturday or Sunday, but it doesn't matter because both keynotes are going to be very interesting, so watch them both. Today we're going to talk with Jean-Baptiste Maradelle and Eugène Moore from the Katie in life project, which is a very exciting project. It's a video editor, which is free and open source and it's making waves, to be honest, not only on Linux desktops, but on desktops of Mac and Windows and everything in between. So welcome Jean-Baptiste and Eugène. Thanks. Hello Paul. And let's start with, okay, Katie in life at this moment has, is becoming super popular, but it wasn't always like that. I remember back in the day that Katie in life had some strange moments in its development. I would, and I know for a fact that you folks were not the first people to attempt, to create Katie in life, let's say. Can you tell us about a bit the history of Katie in life, who started it and what happened that it nearly disappeared, but didn't thanks mainly to you guys? Yep. So I started to get involved in Katie in life. It was I think around 2005. And at the moment, the original creator had already almost left the project. It was very, very basic project, but one of the only open source editing solution. And a few, maybe a few weeks or a few months after I started to get involved, the two people working on it did stopped, stopped developing it. Who started it? I never met him, but it's a guy called Jason Wood, who started the project maybe in 2003 or something like this. So we're talking about a project that is 20 years old. Yes. Yes. I mean, that is, that is a long time for an open source project in any, I mean, KDE as a desktop plasma now is only 25 years old. So we're talking about a long, long time. Okay. Sorry. Continue. Yeah. So it was also, it was the early years of video editing on computers. It was on free software. There were almost no solution. So I was very interested to be able to do editing, video editing on Elix. That's why I got involved in the project. And then by chance, at the same time, because in the first version, Kdeen Live was using a completely different video engine that was developed by another guy who stopped working on this. So at the same time, about MLT started to be available, the video engine that we are still using today. And it was, at the time, it was really powerful and it was quite easy to develop the interface around it. So it was kind of a chance that this came up here. So by the time you started working on it, the original developer was already, had already left the project. Yes. If I remember correctly. Yeah. If I remember correctly, maybe I had a few one or two exchanges, but mostly. And you, Eugene, when did you start working? Yeah, I started or helping. The initial thing was my youngest son makes some photos and some videos. And he asked me how to cut now this vacation or holiday videos he recorded on on a video editor. He thought, yeah, Premiere would would be nice. And I say this is a killer. And anyway, it's not free. And then I went out to the internet and look what's available. I found shot, shot cut, which is very close to a video editor, which I like. And then I found Kate in life. It was roughly 2017 2016 2017. And then we started with it. My youngest son started to edit it. And I thought this is a quite interesting video editor 2007 17 back now five, six years. And I thought it's worth to involve. It's free. And then I start, let's say helping on the forum answer questions because I have a background of Premiere Pro. And I could answer some questions. And I understood a bit the mechanism of Kate in life because it was some similar as Premiere it was. And then yeah, I get asked from the core team. If I joined the team. And this was roughly 2018. When I joined the core core team. But it was already on a stable thing. And the point was it was available on windows. Because this was a must because all all around me are all on windows and vessel ported it to windows. And this was really a starting point. Two things. You said that Premiere was a killer? Yeah, from the from the from the size of the thing. And it's not you have to install and you have to get the key and you need a lot of space on your hard hard drive. And for some small video editing, I thought this how to learn Premiere until you have your first cut stuff like this one. My son was then 10 years old stuff like this. So I thought it's a bit too complicated for him. And it's too heavy for his PC background. And this is why I looking for a leaner smaller video editing soft software founding in Kaden, Kaden live. Hey, Kaden life has got a bit heavier, though over the I mean, there are so many features now. I mean, more heavy about how much space it needs on the hard drive stuff. I have never I admit I have never used Premiere. I I am a I am a Kaden live boy through and through. So I don't know. I have no I have no reference. I mean, okay, cool.  And I remember thinking, ah, Kaden live is really, really making progress because you introduced some new features that that were, I think, for the time, quite advanced. Okay, but so that, Elgin, that's a that is your interesting origin story of why you would be interested in in a video editing software. So it is for your family. But what about you, John Baptiste? I mean, what are you more interested? What are you interested in as a developer or because you had some some movie need, some video editing need that you had to satisfy and you wanted to satisfy with free software? It's a bit of both. At first, it was, I did an art school. And I was when I when I left the school, we were still working on analog videotapes. So we could it was the start of audio editing on on on computers, but video editing was still on tapes. And I was doing some some some videos for myself. And then I since it started to be available with computers, I got interested in it. And I had a few documentary that I was I was doing at the time that I was interested to work on Linux on my own video editor. Right.  But obviously, you obviously have a very technical background, you weren't just going on the internet and looking for stuff.  If you discovered it in 2017, and then you are invited to participate as a developer in 2018. That was that's a short track from going from, you know, user to core developer. What's your background? Yeah, my background is as shop up. This is really similar. We once oh, this is really far far back with VHS VHS cameras. Oh, yeah. VHS camera, you know, we made not a movie. I was in a theater company as a Farine in Switzerland. And we made a video. What is all needed to make a theater to be live from from people who who who learned the rule, let's say from people who are in the kitchen to make some meals stuff like this one. And then we do this all on VHS. And then we have really a linear editing we have to to recorder one was the player and the other one was the receiver. And we cut this one together on a new tape, let's say, but completely linear. This was really the starting of filming for me. This was 1984 something like this one one of the first video I made with colleagues together.  No, this was just hobby to be honest. We make the storyboard by ourselves. We ask other people to help we were there. I think 20 20 years old stuff like this one. And then we even make music on this VHS video. And then we had on the end a master video which we make copies. And I think it's I have still such a master tape at home. This was really our first video. And it takes about 20 minutes or something like this one. But it was a huge work. And we made and if you made some mistake on the copy paste on this VHS record, you have to go back and go again stuff like that one. And you have to be all really careful to not make too many copies. Right. The VHS tape is really sensitive of making copies. And then we put music on it. We pull we make off. We make over speaking on this video as well. Because it we have two channels, one channels was the original tone and the second channel for stereo, the second channel, they put music on it. And if you listen to it today on one box, you have the original tone. And on the other box comes the over the new tone from music on because this was completely limited these days. This was my starting point going into videos. Right. But okay. You said you used it at the school. You used to make videos at the school? No, I did an art school. So I did some video editing, but not with KD in life. No, my school was finished for me. So you went to art school? Yes. I mostly worked on videos at this time. Okay.  Yeah. You don't practice, let's say, right? No, not much. No. But okay. But so the jump from videographer to developer, how did that happen? I have always been into computers. As you said before, my first computer was a ZX Spectrum and I was like 12 years old. My father was doing a program on IBM systems. And so I started very young to be interested in software development. And you jumped to free software? Yeah, it was quite a few years later. But yeah, I've always been interested in sharing things. So when were you first made aware of, let's say, the KDE project? When did you discover that? And how did you discover that? I don't remember exactly. I think I had a discussion with a guy who at the time you could buy magazines in the shops with DVDs on it or CDs. I think DVDs were not CDs. CDs that you could just put in your computer and install Linux. So that's how I started. Yeah. Do you remember your first distribution? I think maybe it was a shoes or no, there was also another distribution. No, it was one of the first, I think, that was a bootable. You didn't need to install it. But I don't remember. Knopix, I think. That was a live distribution. Yeah, that's awesome. What is your education? What did you study at college? You're asking me? Yes, sorry. I do the normal schooling in Switzerland here. And then I make apprenticeship as a tools maker.  Then now I have an after-study diploma as well. I'm more, let's say, business administration as an add-on. So you're an engineer? Not anymore. Yes, I'm an engineer as I work as an engineer. And then I make my after-diploma study and now more, it's more business administration. I tried to figure out, okay, sorry. I tried to figure out how you got into software development. So you were a software engineer? Were you a software engineer? No, no. I learned as well. I step in with computer with a ZX Spectrum, I think 1983. I started programming basic. This was really nice because you could program graphic as well. You do not need an additional framework stuff like this one. And I programmed or made some programs together with my brother. And then later on I switched to Sinclair QL and then switched over to a PC afterwards. And I was not really a developer in that sense. But programming, yes, it says something to me. But what I have done is during my life now, I'm more involved with huge projects. So I'm more a project director, you can tell. And I have a bit of a clue of supply chain management. And I'm not an active programmer. I'm advocating life with documentation. This is what I can do. C++ and Qt, I have absolutely no clue. So I think I help better on the other side what I can do. And I can involve me more about project management and supply chain focus on work. Yeah. Right, cool.  Obviously, a lot of people who are developing KDE projects, a lot of them are trained, certified software engineers and developers. But there is a large percentage of people who are not. So this is a great example of how when we say, oh, but you can help us too because we're a community and stuff like that, people say, oh, but I don't know how to program. But first, you can learn. And second, not everything is programming. Definitely not. Documentation. How useful is documentation for KDE life, which is a complicated piece of software and you need to know the tricks and how to use it and the features and the tools. Talking of which, of this last version of KDE life, this last version of KDE life has come with lots and lots of stuff. And lots and lots of stuff have happened recently in KDE life, like there has been the fundraiser, which was successful. So that means that you can implement more features. But of the last batch of KDE live versions, which is the feature that you are both most proud of? That you think that users should definitely take a look at? Yeah, I can say this is the sequence implementation we have done in the 23.04. I think this is a big step ahead. Jean Paptiste dived really deep into the code to doing this one. This is something which shortcut not can do because it's on the same framework behind. And I think this is really something Jean Paptiste can be proud of. We're talking about the nested Titan lives, right? The nested sequences. I knew that was going to be the answer, but okay. Well, I tried it and it's amazing. It changes everything. But what's interesting maybe it's from my point of view is this integration with the sub title. I think we have a big community on YouTube. And I was really surprised that out of the blue, some developers pops up and make some additional code just for sub titles. I think this was something which the community never really asked. We implemented Jean Paptiste has this really well done now with these artificial things with whisper, with speech to text was a big implementation. And I never thought we get such a feedback from the community, especially silent feedback, let's say, and a lot of help behind for the sub titles, especially. The people want this one and it was not so on our timeline, let's say Jean Paptiste, I guess. It was just a pick up from the community. Yeah, it's interesting. This has been, I mean, I monitor the news about among other projects cleaning life. And yes, both these have been the most featured, most featured feature. Sorry about the redundancy, commented in blog posts and in technical journals and stuff like that. It's been nested timelines and the whisper. I haven't tried the whisper. But I guess it saves a lot of work. Because if you're going to put out a YouTube video and you want good subtitles for our languages. And even you can do translation. So if you take the speech to text in whisper, it translates automatically as a sub title. This is really great. And even it finds the punctuations, let's say, and make a complete sentence. I was really surprised as I have tested this whisper. I'm going to try it with this video. Yeah, I think it's one thing that I like with KiddyLive. It's that we are using dozens of other open source projects. And sometimes it's like in the case of Whisper, it was very, very easy to integrate. So we just provide an interface to use great, great tools and to put everything together. That's one thing I like in KiddyLive. It's really putting together lots of projects and making them easy to use. Right. I'm not going to ask you the next logical question, which is what is coming up next, because I understand that this is going to be in your keynote. And people who want to find out about all this should go and watch the keynote in Academy. But we can talk about how people can contribute to KiddyLive. KiddyLive for everybody who's watching this is as all KDE projects, completely open, open community. So people can join. And as Eugene explained, can just contribute one thing that they're interested in. If it's good enough, it will make itself, it will make its way in, or it will be helped in or whatever. So how can people help with development? Where can they go and ask to help? How can they contribute if they don't have the knowledge to develop? And also, well, third one, talk about in a minute. Those two. Where do they have to go to contribute in development to just get going? And what can they do if they don't have the knowledge to develop for KiddyLive? So if someone is interested, we have a matrix channel, KiddyLiveDevil, where people can join and ask questions and we can help them to focus on things. And we also do some help because KiddyLive is a very large application. So it's very hard to, I shouldn't be saying that, but it's not easy to get into it. So we try to be welcoming to interested developers. And Eugene, I want to. Yeah, I can only say when we have one developer, really, like Jean-Pap, this we need three people in the background. So let's say, just answering questions on the forum, it's a big help.  Answering on our matrix channel is a big help. So what I see is when Jean-Pap this is coding, we need three people just in the background to keep the communication to keep the communication alive. And this is as well a big help. Also documentation, right?  So people helping you, Eugene, with the documentation, that would be helpful too, right? Yeah, sure. Yeah. And I think the problem at the moment is a bit that the documentation lives on a git repository. And this is a bit the hindrance for non-developer. I'm at the moment writing a documentation, a quick one, how this is really working and implement this and implement this one, but people can just go in our normal channel like Matrix and load up some Word documents. I say it's Word documents, please implement this and that. And I think, yeah, just start and communicate what you like to implement. Maybe you find some mistakes or have made some screenshots and then I can help in the background just implementing this one. And then maybe they come to the next step and say, now I like to make a merge request really in the documentation. And I think it's just step-by-step, right? Would have to be a Yeah, another way that people can help also to test the development version before we make a release. This is something that we lack a bit because KDLavis has become a very large project and we have some automated testing for some of the regressions. But yeah, we saw with the latest release that we cannot test all the automatically test all the configurations. So having more people testing the beta versions would also be can also be very helpful for us. Yeah, I mean, very recently there was some problem that you found when the new version was already out there because people actually tested it. The automatic testing didn't pick it up.  So yes, of course testing. I mean, we're going to put all the addresses for all these things down here so that you can read where to go to the matrix channel, where you can go to the main release, where you can go to the bug report thing, etc, etc, etc. All that will be here. There is another way, I think, to contribute, which is kind of new, which is you can build your own effects and upload them to the KDE store and then download and then other people can download them and use them. So with that, you are actually helping other users with effects and creating a community, etc. I think that's a very interesting feature that is also quite new. Not really. No, we have it this long time, I think five years. This KDE store is not so young and it's implemented in the store itself. But I think the people were not really aware of this feature. I knew the KDE store was out. What I was not aware, as you very well point out, is that you could actually upload, you know, combined effects to it and then share them. I had no idea until, I don't know, about half a year ago maximum. So I realized that then. So yeah, it's another point that although this may have existed for a long time, I wasn't aware of it. So I assume that other people were not aware of it. Again, we will put the address or instructions down here so that you know how to upload your own effects to the KDE store and you can share it with other people. Okay, so very good. The other thing that people can do is fund the development. So KDE life has a permanent fundraising going on. You can become, you can donate one so you can become a regular sponsor and this will help continue the development of KDE life. The fund raising is really important is what has given us, for example, these new features, both the nested timelines and the whisper feature and many others in the new version of KDE life would not have been possible without the help of people funding us. So if you like KDE life again, look down here, click on that link, go and help us fund it. Okay, so we're going to see you again in your keynote. Is there anything else you would like to tell us about KDE life that will not, you know, break the secrets or give away any secrets of what you're going to talk about? Yeah, I don't know. So many things to say about KDE life. Maybe just one thing that is a bit historic, but it's KDE life. For the, I think the first seven years I worked alone on the project. At some point it became too much pressure and I almost stopped working on it. That's when the project almost stopped. And then I did the moment when I really joined the KDE community where we really started to have a team around KDE life. And I think that's one very important thing to have a team. As Eugene said, we need people behind the scenes also to work on various aspects. This is one thing that is very important. This is also very rich and motivating. So this is one thing that I like to sometimes to emphasize and that we are a community and we are part of KDE. That's one thing that I really like about the project.  It would be great if there was some more developers. So that goes out to the people watching us too. If you have an interest in this project, please come and help develop it. As we have said several times, it's completely open, it's completely free software. So there are no barriers except those of your knowledge. There are no barriers for people contributing to this. Hey, Eugene. Yeah, I would say the same. The whole backup as we have with KDE, the whole resources we can use, the server, the home page and all this infrastructure stuff. And as I said, as need the people behind who helps Jean-Baptiste keep them back free, let's say for developing and then just make the notes for the announcement, make the translation in different languages stuff like this one. This is really need additional people not knowing a coding stuff like this one. And I think we are now a group of four or five people just behind also just together. And without this one, it would be impossible to have such a big software life, let's say, and even with the help of KDE in the background that we could grow as we saw Jean-Baptiste with this language issue we had on Windows and on a Mac, KDE or a developer from a different angle have just a good idea how to solve something. It would be really, really helpful. And maybe, sorry, maybe one last thing. We're also trying to look for new ideas to stay up to date. Of course, we are also thinking about what to do with AI stuff because it's something that is going to have a major impact on video editing. So it's also interesting in an open source project that you can explore many different things. And I think I hope that we will also have some interesting things coming out of these ideas. So you won't use the suggestions? Yes. Really? Well, sorry, I didn't understand that. One suggestions from the users? Oh, no. I have enough ideas on myself. That was the point that very often, you know, there are so many ideas coming in that sometimes you go, okay, enough of ideas, let's get to actually doing something. Yeah, yeah, yeah. But yes, I get your point. Okay, so it's been great talking to you. We will meet again at the Calamity, as usual. Will you be going to Calamity, Eugene? Yes, together. Because you were not there last year? No, I was never in the academy. This is your first academy? Yep. Oh, wow. Okay, that's good. Yeah. I know Jean-Baptiste has been several times because we have met several times there. So anyway, so it's been great talking to Jean-Baptiste and Eugene. To everybody who's watching, remember, academy is from the 15th to the 21st of July, and it will be held in Thessaloniki in Greece. The conference days are the 15th and the 16th, which is the weekend, and that is where you will be able to hear the keynote, including the keynote from the KDLive team, of course. So we'll see you there. And thanks, Jean-Baptiste and thanks, Eugene. Good night. Yep, thanks. Thank you. See you. Bye.


Good evening aspirants. I welcome you all to the Hindu daily news analysis brought to you by Shankar A's Academy for the newspaper dated 24th of March 2023 Displayed here are the list of articles that we will take up for discussion today. There are eight articles Go through it. Now, we will start with the first article discussion In yesterday's Hindu newspaper analysis, we saw about China led framework and how they are acting in Opposition to their propagation. This text and context article is also written in that same context We all know that the demand for semiconductors is far greater now The demand is rising because these chips are found in every modern electrical appliance and personal electronics device today. As a result of geopolitical pressure to protect themselves from supply chain invulnerabilities, more and more countries are now attempting to challenge China's dominance in this space Businesses are diversifying their operations and avoiding the strategy of investing solely in China Since it is the time to grow even our union government has dispersed around 1645 crore in performance-linked incentives for electronics manufacturers so far This has been done to enhance India's participation in the electronic supply chain This is the crux of the news article given here in this context Let us understand few facts about semiconductors and its uses before that the syllabus relevant to this discussion is highlighted here You can go through it. So what are semiconductors? See based on the conductivity of solids Solids can be classified into three major types firstly metals They possess very low resistivity that is high conductivity the exact opposite to metals is insulators they have high resistance to the flow of current which means their ability to conduct Electricity is low something that is in between these two are the semiconductors They have a resistivity or conductivity that is Intermediate to the metals and insulators Semiconductors are further classified into two types the elemental semiconductors and compound semiconductors Elemental semiconductors are those which are composed of a single species of atoms like Silicon Germany compound semiconductors are those that are made of two or more elements Gallium arsenate gallium nitride silicon carbide indium phosphide and even Aluminium gallium indium phosphide are examples of compound semiconductors Here you might have a doubt why Semiconductors are used in modern electrical appliances and not metals because metals have higher conductivity, right? But they are not used instead semiconductors are used see metals have high conductivity Which means they conduct electrons very rapidly so it would be hard to switch them off and Similarly, if you see insulators, they do not conduct electrons at all So turning them on would be equally difficult on the other hand if you see Semiconductor materials have properties that are just right in the middle and this is why they are preferred now We will see what are the applications of semiconductors see semiconductors are used in memory chips microprocessors then integrated circuits and Electronic discrete components like diodes and transistors are made of semiconductors Thirdly, semiconductors were used as two terminal devices like rectifiers two terminal devices like Photodiode semiconductors are used in solar technology Apart from this they are used in 3d printing missions Then temperature sensors which are used in air conditioners are made with semiconductor devices Most importantly semiconductors play a central role in the operation of bank ATMs trains the internet communication and other parts of social infrastructure Semiconductor devices are also used in microchips in computer Calculator solar plates and other electronic devices since the semiconductor technology has driven systems efficiency Miniaturization and energy savings It will also help to preserve the global environment These are some of the applications of semiconductors now coming back to the news article See the semiconductor Fabrication units which are also known as fabs turn raw material like silicon into Integrated circuits which can be used in electronic hardware But setting up these fabs require highly reliable and high quality supply of water Electricity insulation from elements insulation means the act of covering something to stop Heat sound or electricity from escaping or entering So fabs are highly capital intensive if we wish to make the sophisticated circuits We need more capital in case of India facilities for assembling finished products have been steadily growing in numbers, but fabs for making chipsets and displays which are crucial for Manufacturing process for many electronics is very rare So that is why our government has disbursed 1645 crore in performance linked incentives for electronics manufacturers Secondly a large part of semiconductor manufacturing involves design and intellectual labor Very fortunately India has an advantage here. This is because of the large portion of Semiconductor design engineers globally are either Indian are of Indian origin Chip-making firms like Intel have large facilities in India with huge Indian talents working on design problems This is an advantage Because China is losing control over the industry in the face of sanctions and an aging population So now the Minister of Electronics and Information Technology Ashwini Vaishnav said that the first Semiconductor manufacturing fab would be announced in the coming weeks So we have to wait and watch what will happen in the future with this We have come to the end of the discussion for this particular article in this article We saw what are semiconductors we saw that semiconductors are those which have a resistivity or conductivity Which is intermediate between metals and insulators And then we saw why semiconductors are used in every modern electrical appliance instead of metals Then we saw some of the applications of semiconductors. We saw that they are used in memory chips memory processors and further integrated chips diodes and resistors are made of semiconductors and we also saw about the semiconductor Fabrication units which convert raw elements like silicon into integrated circuits And we saw that these fabs are highly capital intensive We also saw that India has an advantage in terms of the large pool of semiconductor design engineers And we saw that China is losing control over the industry in the face of sanctions and aging population With these points in mind now we will move on to the next article discussion This news article focuses on the stray dog crisis in India Recently there has been news about stray dogs attacking children in India So this article focuses on why there is an issue of stray dogs in India despite various steps taken by the government This is about the article given here. So in this discussion today, we will look into the points discussed in the article Let me start the discussion with this question. Do dogs belong in the streets? The answer is no. The article puts forth two reasons to substantiate this answer Now, let's see the first reason Dogs are domestic animals. They need constant supervision Without human supervision the dogs could turn feral This is because dogs are very loyal in nature and they are very territorial Territorial in the sense they protect their territory very fiercely When a dog is fed in a particular area in a street Then the dog assumes the entire street as its territory or home It does not allow other dogs or humans into its territory. This in turn becomes a public nuisance Also, when that stray dog gets affected by rabbits, it becomes a public health crisis And this is the reason why dogs should be kept in homes under human supervision Now moving on to the second reason Dogs played no ecological role when they are left unsupervised in the streets or public places So this is the second reason stated in the article Now, we know that dogs are domestic animals and they have a role to play in the society Only when they are under human supervision There are some steps that can be taken to address the issue of stray dogs First is placing the stray dogs in a shelter away from the public place Secondly, the stray dogs can be re-homed to a new owner The next available option is sterilization to prevent uncontrolled breeding And finally, we have the option of euthanasia Which is nothing but the act of killing an animal in a most human way possible But euthanasia is done only in the worst case scenario Despite these solutions available at hand, India still has a huge population of stray dogs Now we will see why India has such a large number of stray dogs The first reason is cultural See, the Indian population is quite tolerant towards stray dogs The Indian masses even consider feeding the stray dogs as good karma In some cases, the public have prevented the official effort to remove stray dogs This is quite opposite to the mindset of the people in western countries For example, the people in the US have zero tolerance towards stray dogs To address the issue of stray animals, every year up to 3 million dogs and cats are euthanized in the US This is why the US does not have stray animals and India has many stray animals The second reason is administrative complexity See, there is a conflict between two laws One is the prevention of cruelty to animals act And the other is the animal birth control rule book or the ABC rule book Before looking at the conflict, we will see some points about PCA Act and the ABC rule book See, the prevention of cruelty to animals act 1960 is an important legislation in India That prevents cruelty towards animals The act prohibits the infliction of unnecessary pain or suffering on any animal The act also prohibits organizing, promoting or participating in animal fights And the act also has provision for punishment for the cruelty to animals including fines and imprisonment In addition to this, the act regulates animal slaughter Conducting experiments on animals, transport of animals and animal markets Finally, this act allows for the registration and regulation of animal welfare organizations in India Now, coming to the topic at hand See, the PCA Act recognizes that dogs are domestic animals The act also says that dogs when left on the street suffer due to homelessness And are a menace to the public at large Due to this, the act says that the stray dogs should be sheltered, re-homed, removed or euthanized Using this provision, the municipal authorities control the stray dog numbers in the past But right now, this is in conflict with the ABC rules Now, what is the ABC rules? See, the animal birth control rules in India was introduced in 2001 as a means of controlling the population of stray dogs in a human way The rules provide a framework for the sterilization and vaccination of stray dogs With the goal of reducing the number of dogs in the streets and preventing the spread of rabbi's The main reason why these rules were introduced is that earlier, the municipal authorities used crude methods like electrification, gassing or poisoning to euthanize stray dogs to reduce cost So, to make this process more human, these rules were famed The rules provide for the establishment of ABC monitoring committees at the local level These committees consist of animal welfare organizations, veterinarians and government officials The ABC monitoring committee is responsible for overseeing the implementation of the ABC program in their respective areas The ABC rules mainly focus on sterilization to control stray dog population The rules created a category called street dogs as opposed to stress This reclassification is the cause of conflict between the PCA Act and the ABC rules As we already saw, PCA Act while prohibiting cruelty does not restrict the municipality from euthanizing stray dogs But now there is a category called street dogs under the ABC rules This has stopped the municipal authorities from euthanizing the street dogs So, this is the main reason why the number of stray dogs have ballooned in recent times Also note that very recently the street dogs in the ABC rule books were again renamed as community dogs Now finally, what can be done to address this issue? Firstly, vaccination and sterilization drives must be carried out to stop uncontrolled breeding of streets Secondly, conflict between ABC rules and PCA Act must be resolved so that the old sick and rabid stray dogs can be euthanized Thirdly, the public must be made aware of the issue of stray dogs So to all the dog lovers out there, if you love dogs, take it to your home If you just feed the stray dogs, you are doing the service to both the dog and the public out there Finally, all the stakeholders like municipalities, animal welfare groups, public health professionals, local residents, and the Ministry of Urban Development should be brought together to take proactive steps So in this particular discussion, we saw about the stray dog rises in India And we finally saw what can be done to address the issue So with the learned points in mind, now we will move on to the next article discussion Look at this small article from the archive session It is a news that was reported 50 years back from today It is about the analysis of samples taken by a ship named Glomer Challenger Oceanographic exploration at that time had determined that Antarctica has been a frozen continent for at least 20 million years This was like three to four times longer than it was previously thought It also confirmed the theory that Australia broke away from Antarctica some 50 million years ago Other finding was that there are traces of natural gas components in sediments beneath the sea floor near the Antarctic shores This is the crux of the news article given here In this context, let us see some important facts about Antarctica Know that Antarctica is the fifth largest continent on earth And up to 98 percentage of Antarctica is covered with thick ice and snow This is because of its position in the higher latitudes of the southern hemisphere Here being in a higher latitude means that sunlight that is insulation Heats the surface at a very low angle And this means that solar energy is spread over a larger area than it would hit in a lower latitude This is the reason why Antarctica has temperature below freezing throughout the year This is unlike the Antarctic in the northern hemisphere because in Antarctic Ice will be floating on water But Antarctica is a continent with bedrock under the thick ice sheet Here know an interesting fact today. There are only two places on earth with ice sheets One is Antarctica. What is the other place mentioned in the comment section? Antarctica's ice sheet is the largest single piece of ice on earth Now, other than ice sheets, Antarctica has ice shelves, sea ice and icebergs This is about the physical features of Antarctica Now, let us see the physical geography of Antarctica See, like I said already, Antarctica is in the southern hemisphere Antarctica is surrounded by the southern ocean Antarctica can be divided into two parts One is lesser Antarctica and other is the greater Antarctica The greater Antarctica is also known as east Antarctica And it is composed of older, igneous and metamorphic rocks Lesser Antarctica, on the other hand, which is also known as best Antarctica Is made of younger, volcanic and sedimentary rock Lesser Antarctica is a part of the ring of fire Mount Erebus, located on Antarctica's Ross Island Is the southernmost active volcano on earth Then, talking about ice shelves Ice shelves are common around Antarctica And the largest ones are the Rhonefilchner and Ross Ice Shelves Now, see this map, it shows the sea surrounding Antarctica Note the important ones like Ross Sea and Weddell Sea Now, coming to the climate Antarctica has an extremely cold and dry climate In winter, there will be complete darkness for 24 hours a day And in summer months, the sun barely sits And if we see the precipitation in Antarctica, it is really hard to measure It always falls as snow The Antarctic desert is one of the driest desert in the world Then, the Antarctic region has an important role to play in the global climatic process It is an integral part of Earth's heat balance See, we all know that ice is more reflective than land or water surfaces The massive Antarctic ice sheets reflect a large amount of solar radiation away from the Earth's surface So, this helps in the preservation of Earth's heat balance So, with this, we have come to the end of this discussion In this discussion, we saw some important facts about Antarctica Then, we saw about the physical geography and the climate of Antarctica Firstly, we saw that Antarctica is the fifth largest continent And it is made up of 98% ice This is because of its position in the high latitudes Then, we saw that Antarctica can be divided into two One is the lesser Antarctica and the other one is the greater Antarctica Greater Antarctica is made of older rocks And lesser Antarctica is made up of younger rocks Finally, we saw about the climate of Antarctica We saw that it has an extremely cold and dry climate And because of this, it is one of the driest deserts in the world And also, we saw that it is an integral part of Earth's heat balance With these learned points in mind, now we will move on to the next article discussion See, it's a leak that a 40-year-old man threw acid on his 35-year-old wife While she was sitting in the waiting area of the coat hall Yesterday, there was a high level of tension at the combined coat complex because of this incident In this background, let us understand what is acid attack and about the loss on acid attacks See, an acid attack is also called acid-throwing vitriol attack or vitriolage It is the form of violent assault involving the act of throwing acid or a similarly corrosive substance onto the body of another It is basically intended to disfigure, maim, torture or kill the other person Perpetrators of these attacks throw corrosive liquids at their victims, usually at their faces So this burns them, damages their skin and often leads to exposure or sometimes even dissolving of the bones The most common types of acids used in these attacks are sulfuric and nitric acid Hydrochloric acid is also sometimes used but it is less damaging Now, if we look at the laws that govern acid attacks in India Until 2013, acid attacks were not treated as separate crimes However, following the amendments carried out in the IPC Acid attacks were put under a separate section of 326A of the IPC Such attacks are made punishable with a minimum imprisonment of 10 years Which is extendable to life along with fine The law also has provisions for punishment for denial of treatment to victims Or police officers refusing to register an FIR or record any piece of evidence Denial of treatment both by public or private hospitals can lead to imprisonment of up to one year And their election of duty by a police officer is punishable by imprisonment of up to two years But sadly, the implementation of the regulations is not very strict And acid is still easily available in many places So in 2013, the Supreme Court took cognizance of acid attacks and passed an order Under regulation and sales of corrosive substances Based on the order, the Ministry of Home Affairs issued an advisory to all states on how to regulate acid sales And framed the model poisons possession and safe rules 2013 under the Poisons Act 1919 It asked the states to frame their own rules based on model rules As the matter fell under the purview of states Later in 2015, the Ministry of Home Affairs issued an advisory to all states to ensure PD justice in cases of acid attacks by expediting prosecutions According to the Ministry's directions and model rules, over the counter sale of acid was not allowed Unless the seller maintains a log book or register for recording the sale of acid This log book was to also contain the details of the person to whom the acid is sold The quantity that is sold, the address of the person And it should also have the reason for which the person is procuring the acid The buyer must also prove that he or she is above the age of 18 Sellers are also required to declare all stocks of acids with the concerned sub-divisional magistrate within 15 days And in case of undeclared stock of acid, the sub-divisional magistrate can confiscate the stock And suitably impose a fine of up to Rs. 50,000 for a breach of any of the directions These rules were made to ensure effective monitoring Besides this, rules for victim compensation and care were also made They are entitled to get free treatment proper after care and rehabilitation Ministry of Home Affairs suggested that the states should also extend social integration programs to the victims For which NGOs could be funded to exclusively look after their rehabilitative requirements So in this particular discussion, we saw about acid attacks and the laws that govern acid attacks in India With the learned points in mind, now we will move on to the next article discussion For the next discussion, let us take this article This article says that Indian patent office has rejected a patent filed by the Johnson & Johnson's This is because the company tried to extend its monopoly on manufacturing the BEDA equivalent drug in India So now this will pave the way for generic drug manufacturers such as Lupin and Macleod to produce this particular drug This will ensure cheaper and more wider access to this particular drug See, BEDA equivalent is a crucial drug in the treatment of multi-drug resistant TB patients So this is the crux of the news article given here In this context, let us see some facts about Indian Patent Act of 1970 The Indian Patent Act 1970 was established on 20th of April, 1972 This is based on the recommendations of the INR committee report See, a patent is an exclusive right granted to a patiny for his invention Any third person cannot use this invention without the permission of the patiny So basically, it excludes others from using, making, offering for sale, selling or importing the patented products So it is like a monopoly on the invention But this is only for a definite period That is, there is a time limit for this patent The term of every patent is 20 years from the date of filing of application So patents are exclusive statutory rights granted to the patiny by the government for a limited period In addition to this, if something has to be patent, the invention must meet some criteria First of all, the invention must be new It should be novel and non-existent Secondly, the invention must be non-obvious A mere change in technology will not give the right of a patent See, if you are replacing a lighter material in a known mission and telling that it is easy to carry And you are trying to patent it, then it is not possible Thirdly, the invention must be useful in a bona fide manner Fourthly, the invention must involve an inventive step Fifthly, the invention must be capable of industrial application Finally, the invention should not come under the inventions which are not patentable Like those under section 3 and 4 of the Indian Patents Act of 1970 See, this section 3 deals with exceptions Some of the subject matters which are not patentable include frivolous inventions That is, inventions that does not have a serious purpose For example, there was a patent filed in US which is basically an apparatus for facilitating the birth of a child by centrifugal force It is nothing but a mission that spins the women around until she gives birth So, this is an example of frivolous invention Secondly, the inventions which are against public order, morality or which is harmful to the environment Thirdly, mere discovery of scientific principles And fourthly, again, mere discovery of a known substance are also non-patentable So, with this we have come to the end of this discussion In this discussion, we saw about the Indian Patents Act We saw what is a patent? A patent is an exclusive right granted to the patentee for his invention This is for a term of 20 years If something has to be patent, it should meet some criteria Firstly, the invention should be new and it should not be a very obvious invention The invention must be useful in a bona fide manner It should have an inventive step in it It must be capable of industrial application And we finally saw some inventions which are not patentable This is given under section 3 of Indian Patent Act 1970 With this, we have come to the end of this discussion Now we will move on to the next article discussion Have a look at this editorial article This article is talking about the recent IPCC report See, recently, the Intergovernmental Panel on Climate Change released the synthesis report of its sixth assessment report cycle This synthesis report of IPCC summarized the key findings from its most recent reports See, this synthesis report earns added legality This is because the summary of the report is approved line by line by governments of the world The United Nations Secretary General has called this report a survival guide for humanity So, there is a hope that IPCC synthesis report can shape our collective response towards mitigation of global warming in this critical decade This is the background In this discussion, we will try to understand the points provided in this article Before that, the syllabus relevant to this discussion is highlighted here You can go through it Now, let us start by understanding the key findings of the IPCC synthesis report See, the report confirms that human activity is undeniably driving global temperature rise The report says that the global temperature has reached approximately 1.1 degree Celsius above pre-industrial levels This 1.1 degree Celsius temperature rise has already led to rapid and wide spread impacts on climatic systems across the world These impacts strengthen the considerable action in the IPCC report Which advocates to constrain global warming to 1.5 degree Celsius rather than 2 degree Celsius Here, the relative focus on 1.5 degree Celsius rather than 2 degree Celsius has some indications The first indication is regarding the carbon budget See, the world's carbon budget is far lower for the 1.5 degree Celsius than for the 2 degree Celsius target This means that the amount of carbon that the world can cumulatively emit before reaching key temperature limits Is far lower for the 1 degree Celsius than the 2 degree Celsius target See, limiting warming to 1.5 degree Celsius requires the reduction of greenhouse gas emissions to 43% by 2030 Whereas, the same number for limiting warming to 2 degree Celsius requires the greenhouse gas emissions to be reduced to 21% by 2030 Here we can witness the huge difference, right? See, the IPCC report points out that humanity had already consumed four-fifth of its total carbon budget for 1.5 degree Celsius by 2019 In that consumption, the developed economies account for the lion's share The report also notes that the existing modelling studies which are often used to assess emission trajectories Do not explicitly account for questions of equity This means that the existing modelling studies do not explicitly explain about the carbon budget of developed and developing economies So there is a confusion that who bears their responsibility for achieving this ambitious 1.5 degree Celsius target Anyway, from an impacts point of view, it is important to aspire for a 1.5 degree Celsius target to reduce the climate risks Now, the second indication is regarding climate adaptation As I said earlier, the 1.1 degree Celsius temperature rise has led to rapid and widespread impacts on climate systems across the globe So the recognition of greater risks at low temperature necessitates early climate adaptation The IPCC report highlights that climate adaptation itself has limits This implies that some losses and dangers of climate change are inevitable For example, the IPCC report finds that some coastal and polar ecosystems have already reached hard limits In their ability to adapt to a changing climate Then the effectiveness of some of the adaption options such as urban greening and restoration of wetlands Etc are in decreasing trend with increasing global warming Apart from this, the IPCC report also argues that at higher levels of warming Climate change could lead to cascading risks such as food security This food security in turn will lead to migration, which are intensely challenging to manage So these findings point out that mitigation is more essential than climate adaptation This is all about the key findings of the IPCC synthesis report Now, what are all the solutions to address the issue of global warming? For this, the IPCC provides us some points The IPCC report advocates the adoption of climate resilient development as soon as possible Know that a climate resilient development is a developmental model that integrates both adaptation and mitigation to advance sustainable development for all This sounds like aiming high But in reality, the countries should focus on both adaptation and mitigation to limit the temperature rise by 1.5 degree Celsius above the pre-industrial levels In addition to this, the IPCC report also assists many technologies and design options such as solar energy or electric vehicles The report says that these green technologies can help countries to reduce emissions or become more climate resilient in a technically feasible manner Know that climate resilience is the ability to anticipate or prepare and respond to the hazardous events related to climate Now, coming back, the IPCC report highlights that during climate resilient development, priority should be given to equity and social justice See, a climate resilient development pathway is a journey But the destination here should be net zero emission at the global level So if this climate resilient development turns successful, it will definitely lead to net zero greenhouse gas emissions thereby this will result in a gradual decline in global temperatures and we will also limit the temperature rise by 1.5 degree Celsius above pre-industrial levels Now, moving on to see the progress of the world with regards to global warming mitigation The IPCC report says that there is some visible evidence of progress in the proliferation of loss and policies relating to emissions across the globe Apart from this, the report also highlights the effectiveness of existing policy tools across the world such as regulations and carbon markets But at the same time, IPCC report points out that there are several gaps remaining in humanity's response so far See, there are gaps between modelled sustainable pathways and the pledge of nations on ambition gaps Apart from this, there is also an implementation gap This means that there is a substantial gap between what the countries pledge and what they actually do So now, what can be done to fill the gap? Firstly, high investments in clean infrastructure should be carried out in an open and competitive manner Apart from this, each country should make progress and innovation in the face of inadequate ambition, implementation gap and climate finance To conclude, we can say that the IPCC AR6 synthesis report is a landmark remote This is because the report offers a blueprint for sustainable development as it presents data of present and future damages to the ecosystem Therefore, now it is up to the governments and people of the world to act on the climate risk So with this, we have come to the end of this discussion With the learned points in mind, now we will move on to the next article discussion The next article is about the Congress leader, Raagul Gandhi's conviction He is convicted and sentenced for a period of two years in a criminal defamation case Now, in this situation, experts are having different views on whether the conviction and sentencing means immediate disqualification or not So today in this discussion, we will try to understand the whole scenario First of all, let us start with the basics In India, disqualification is dealt by articles 102, 191 and 10th schedule of the Constitution And apart from this, representation of People's Act also deals with disqualification See, Raagul Gandhi's case is with respect to Section 83 of representation of People's Act 1951 Now, this is the exact text given in the Act A person convicted of any offense and sentenced to imprisonment for not less than two years shall be disqualified from the date of such conviction and shall continue to be disqualified for a further period of six years since his release So, some experts are saying that since Raagul Gandhi is convicted for a period of two years he should be disqualified immediately They are saying this based on the Lillithomas case In the Lillithomas v Union of India 2013 case, Supreme Court said that M.P.'s MLA's or MLC's that is member of Legislative Council, if they are convicted of a crime and given a minimum of two-year imprisonment then they will lose their membership of the House with immediate effect Before this case, the legislators had three months time to appeal their conviction This is based on Section 84 of RPA Act 1951 According to this particular provision, if the convicted legislator appeal within three months then the disqualification will also be on hold So, it will be on hold until the convicted legislator have exhausted all judicial remedy in lower courts, high courts and Supreme Court of India But Lillithomas case struck down this particular Section 84 Now, if a person is convicted for an offense with more than two years of imprisonment then that person should be immediately disqualified Based on this only, some experts are saying Raagul Gandhi should be disqualified immediately But some other experts are opposing this See, normally disqualification will be formalized only when the Lokshaba secret rate issues a notification saying that the seat has fallen vacant And subsequently the election commission orders election to the seat again But since the secret rate has not issued any notification some are saying that Mr. Gandhi should not be disqualified Now, why the Lokshaba secret rate has not issued any notification? This is because of the situation that arose in the case of disqualification of Mohammed Faisal He is an MP from Lakshadeep In an attempt to murder case, he was convicted and sentenced to 10 years by the sessions court at Lakshadeep on January 11, 2023 And after the conviction, the Lokshaba secretary general issued a notification declaring his disqualification from the parliament on January 13 On January 18, the election commission issued the press release announcing bipoles on February 27 But Mr. Faisal appealed in Kerala High Court Kerala High Court on January 25 suspended the conviction and sentence of Mr. Faisal Why did the court do that? See, the High Court said that he is going to remain as an MP for only a limited period of time since the term of his office was going to end So, if we consider this and the cost of conducting bipole to fill the vacant seat the High Court suspended the conviction and sentence of Mr. Faisal So, his disqualification also became inoperative It's obvious, right? No conviction means no disqualification But the Lokshaba secretariat had issued the notification already and election commission has also announced the date for bi-election So, now what Mr. Faisal did? He challenged the election commission's decision to announce the date for bi-election when his disqualification is itself invalid Considering all this, Lokshaba secretariat has not issued any notification so far Because we all know Mr. Gandhi will also appeal so they are waiting for the decision of the court And some experts are saying that since there is no notification his disqualification should not be immediate Now we have to wait and see what is going to happen With these learned points in mind, now we will move on to the next article discussion Look at this article here The news is that a rare bronze idol of Hanuman that got stolen earlier was retrieved by the idol wing of Tamil Nadu police after a long struggle See, a theft of bronze idols including the retrieved one was reported in 2012 The theft happened in the Chola-era Vishnu Temple called Sri Varadarajya Perumal Temple which is located in the Ariyalur district Totally four idols were stolen by the smugglers One was retrieved now and the other three are yet to be retrieved So this is the crux of the news article In this context, let us use this opportunity to learn about Chola architecture First of all, know that the history of Cholas fall into two periods They are the early Cholas of the Sangam age and the rise of the medieval Cholas and Vijayalaya The medieval Chola period is only called as the Imperial Chola dynasty Now in this discussion, we will focus on the architecture of the Imperial Cholas See, the Imperial Chola Kingdom was established by Vijayalaya around 850 AD Know that, before establishing his own kingdom, Vijayalaya was a feudal tree of the Pallavas Vijayalaya took an opportunity arising out of the conflict between the Pandyas and Pallavas During that time, Vijayalaya defeated the Pallavas and he captured Tanjavur This eventually established the Imperial Chola dynasty in the 9th century See, the rule of Imperial Cholas stretched for over five centuries until the 13th century The most powerful rulers of this period include Rajaraja Chola and Rajendra Chola Know that Rajendra Chola was the son of Rajaraja Chola With this information, now we will see about the architecture of the Imperial Cholas See, the Imperial Cholas are mostly focused on temple architecture The Imperial Chola temples are categorized in two groups They are the early temples and the later temples See, the early temples are influenced with Pallava architecture while the later temples have Chalukya influence Know that, the temples built by Cholas are surrounded by high boundary walls unlike the Nagara style of architecture The earlier temples are modest in size while the later temples are huge with Vimanas or Gobras dominating the landscape The Chola temples mostly consist of Garbagriha, Antirala and Sabha Mandaba There are also water tanks that are present inside the boundary of most of the Chola temples Know that the raw materials such as blocks of nice and granite are used to build the temple Note that nice is a high grade metamorphic rock The important example of an early group of temples is Vijayalaya temple It was built in the 9th century by the founder of Chola dynasty that is Vijayalaya Choleshwar Vijayalaya temple is located in Pudukotai district of Tamil Nadu The important examples of later temples include Bragadeshwar temple of Tanjavur Bragadeshwar temple of Gangaikonda Chola Brahm and Aira Vadeshwar temple of Dara Suram Know that the Bragadeshwara temple at Tanjavur was built by Rajaraja Chola Then the Bragadeshwara temple at Gangaikonda Chola Brahm was built by Rajendra Chola 1 who was the son of Rajaraja Chola and the Aira Vadeshwara temple at Dara Suram was built by Rajendra Chola 2 Note one important fact here all the three temples are dedicated to Lord Shiva and they are designated as the great living Chola temples by the UNESCO This means that these three temples were inscribed on the UNESCO World Heritage site With this we have come to the end of today's discussion Now we will move on to the next part of our analysis which is practice questions Now we will start with the prism's practice question There are five questions four will be discussed by me and one will be the quiz question for the day Question number one Consider the following statements about Animal Welfare Board of India Statement number one Animal Welfare Board of India is a statutory advisory body under the Ministry of Urban Development Statement number two It is established under prevention of cruelty to animals at 1916 Statement number three It is headquartered in New Delhi Statement number four It was started under the stewardship of late Srimati Rukmini Devi Arundhale which of the statements given above is sarar correct Here statement number one is incorrect The Animal Welfare Board of India is a statutory advisory body under the Union Ministry of Fisheries, Animal Husbandry and Diary Here statement number two is correct It is established under the PCA Act 1960 Then statement number three is incorrect It is headquartered in Chennai Statement number four is correct It was started under the stewardship of late Srimati Rukmini Devi Arundhale So the correct answer for this question is option C 2 and 4 only Question number two Consider the following statements regarding the disqualification of legislators Statement number one Disqualification of a legislator stands in effect Even if the conviction of the legislator is suspended Statement number two A convicted legislator has three months time to appeal in a higher court Until which he continues to hold the seat Which of the above statements is sarar correct Here statement number one is incorrect The Supreme Court in the 2018 Lok Prahari case said that On appeal if the conviction is suspended Then the disqualification will also remain suspended Here statement number two is also incorrect In Lily Thomas case the court struck down this provision So the correct answer for this question is option D neither one nor two Question number three With reference to the medieval chola sculptures Consider the following statements Statement number one Many of the medieval chola sculptures were casted using gold Statement number two Chola sculptures were made using the lost wax casting technique Which of the statements given above is sarar correct Here statement number one is incorrect Many of the chola sculptures that survive were casted using bronze The sculptures were not venerated in temples Instead they were designed to be portable This is to enable their deity to be paraded away from the temple sanctuary Both for the god's pleasure and the spiritual benefit of the worshippers This practice still continues today Here statement number two is correct Chola bronzes were made using the lost wax casting technique That is still practiced in India This high skilled process involves the modeling of the figure In wax resin which is then covered with a layer of clay Then the clay mold is heated that permits the wax to melt and drain The hollow space is then filled with molten bronze When it cools the clay casing is broken away and the bronze sculpture is polished Finally it will be given to the temple Here the question is asking for correct statement So the correct answer for this question is option B two only Question number four Consider the following statements regarding Antarctica Statement number one Antarctica's average annual temperature ranges from about minus 10 degrees Celsius on the coast to minus 60 degrees Celsius at the highest parts Statement number two Due to its harsh cold climate no vegetation growth is seen in Antarctica Here statement number one is correct Antarctica's average annual temperature ranges from about minus 10 degrees Celsius on the coast to minus 60 degrees Celsius on the highest parts of the interior Near the coast the temperature can exceed 10 degrees Celsius in summer And fall to below minus 40 degrees Celsius in winter Over the elevated inland it can rise to about minus 30 degrees Celsius in summer But fall below minus 80 degrees Celsius in winter The lowest temperature ever recorded on the earth's surface was minus 89.2 degrees Celsius at Wastock station on 21st July 1983 Here statement number two is incorrect Lichens, mosses and terrestrial algae are among the few species of vegetation that grow in Antarctica So the correct answer for this question is option A one only Now this is a quiz question for the day Interested aspirants can post their answer in the comments below Displayed here are the main questions for your practice Interested aspirants can write the answer and post it in the comment box below If you have found a video to be useful, like the video, share it with your friends Subscribe to the channel, happy learning