My name is Alex Chenoy. I'm a software engineer here at 4MOMS and basically today I'm going to tell you the story of how I went from being a web developer here at 4MOMS to being a hardware developer. And so this story starts as most stories do with a young, incredibly naive hero in college who's listening to his CS201 professor tell him all about how bit shifting and who's compliment math works and he's sitting there thinking I'm never going to need this. It's abstracted away. I'm going to work in a VM all of my life. I don't actually need to know any of this stuff. And he's about to find out that he's wrong. So basically I had this opinion that the web was important. This was before the iPhone. Servers were the most important thing. So any problem you had you could just throw more server power at it. So fast forward to about probably a little bit less than a year ago. I had to take the average of some samples. And so basically if you want to take the average of something you sum up all of your samples and then you divide by ten if you have ten samples, five by the number of samples. The problem is that division is a computationally expensive operation and so if you want to divide by ten that takes a really long time. But you could do something like say take sixteen values and just bit shift off four and this is much faster. And the reason that this works is because you're dividing by two. And to prove that this works if you wanted to take one million divided by ten you just move the decimal point. So it's the same thing. If you want to take eight and divide by two you convert them so it's a thousand divided by ten. That gives you a hundred hundred and base two is four. So and this technique is basically the exact same thing that I was learning in my CS201 class. I was learning about doing a lot of this low level math and this is all stuff that I thought I'd never need. And then now I use it all the time. But really I'm here today because of the original Xbox. So if you don't know Justin was asking for speakers for code and supply talks.  So you should do it just for that. No but seriously I'm here because I was talking about the original Xbox and the security mistakes that Microsoft made. And I was just sort of talking in the office generally to a bunch of coworkers and sort of explaining how a lot of it worked. And they had a lot of problems with overrunning memory. Not hashing things properly or not using a hash for security while they thought they were. So it's covering a lot of this stuff and it was all super low level stuff. This was all stuff that was happening in the kernel and dealing with how they were dealing with addressing memory and where they were storing things. So coworker overheard this and an opportunity to join our embedded team and take the skills that I learned from test driven development on the website and bring them to the embedded side came up.  But I've learned a lot since then. I've learned a lot about the embedded space and there's a lot of things that are different but there's also a few things that are similar. And I'm going to cover those today. So perhaps the biggest change that I've had to deal with is a change to my workflow. And that's because I've had to slow down a lot. So this is a picture of a post it note that I have on my laptop. Because on the web it's pretty common. You just want to make a change. You do it real fast. You run the test. If the test passed, the change is good. And if they don't, then the test is bad. But it's not uncommon to just be typing at full speed and just see what happens because it doesn't matter. It's safe. You can't really do that on the embedded side. And in fact, you know, Facebook's motto for a while was move fast and break things. So they wanted to just get stuff out the door and even if it broke, it didn't really matter because it's a safe environment. So what I'm going to do now is I'm just going to take a, we're going to look at a change in Ruby. If the microphone will reach. Okay. So we're going to look at a change in Ruby. And so I'll just show you, I've got this thing that's failing. And I'm cheating because I already have all this stuff backgrounded. But this test is failing. And I know that it's in the cell test. So I'm going to go and go here, see if I can figure out which one it is. Just be alive. Oh, okay. So I must have uncommented this line. Again, I'm cheating because I wrote this already. But let's just see what that did. Okay. So now all the tests passed. So I'm good, right? And that's kind of what making changes on the web looks like, right? Like you have some tests that tells you something and you make the change real fast or relatively fast. And then you're done. This is kind of what looking like changes in the embedded world looks like. Like I've got, you can see I'm using a meter. I'm trying to figure out, you know, what's going on.  I'm actually testing those wires. And so the process is much slower because you have this hardware component. And you can kind of see that when you want to build a new feature on the web, right, what do you do? You probably start with a cucumber test.  You probably make a presenter and a controller, test that stuff. You probably write a model then, finally.  So it's very top down, right? On the embedded side, what I found is that when I want to work on a new feature, the thing that I have to do first is start with this tiny, tiny thing that almost seems obvious, but isn't and then work upwards from that. So another good example, I'm going to show the same picture again. But another good example is sometimes you just have to verify, do a continuity check on the board between wires. Make sure things are wired up properly, right? That's a test you have to run. And so it almost seems a little bit backwards from what I was used to. So if you've worked on the web, you know that most web software looks something like this. This is a simplification, but you're going to get a web request in, it's going to go through some web server, Apache or Nginx. It'll yield to an application run time if you're using Rails, it's going to be Ruby.  And because I know there may be some .NET people here, in case you're wondering, it's the same thing on .NET. You're going to hit IIS, which is Microsoft's web server .NET framework, your code, SQL server, and then back up the chain. So it's the same thing. What you're doing in an embedded system, you're really writing an operating system for the controller that you're using. So you're sitting in an event loop and you're just sitting there waiting for things to happen. Or maybe you're monitoring, you're asking if things have happened.  Now some of this stuff is going to be an interrupt, so it's going to be a line coming into the microcontroller or into the processor that basically says, hey, I have something for you, right? Or it could be that you're asking, you're pulling some bus, like, hey, what is going on on this peripheral? In the case of interrupts, that can be really, really fast. And those interrupts have to, you want them to hit, when they hit, you want the code in those interrupts to yield, to do whatever it is they have to do, and then yield as fast as possible. Because the last thing that you want to have happen is have an interrupt or a timer, have the same interrupt or timer trample over itself. So if the code takes too long, the interrupt could fire again. And now the code from the previous interrupt didn't run, didn't complete execution. So now you're stuck in this loop where the code takes too long and you never get out of it. So the way around this is to typically want the interrupt handler or timer to just set a flag somewhere that you're then going to check somewhere else. Another way would be to use an observer to do the same thing, which is probably a better way. This is a really rudimentary example. But you're going to set this flag, and then you're just going to monitor for the flag in your main loop. So if the flag has been tripped, do some stuff, and then set the flag back to full so that the interrupt can change it again. And this is a very common pattern in embedded systems, which sort of leads me to inputs. On the web, when you click a button, it just fires off a request, right? It's a very atomic operation.  That whole exchange happens atomically. Well, sort of atomically. One of the problems that you have in embedded systems is that your inputs aren't necessarily atomic operations. Because it's a circuit, and because there's current in the system, the current can bounce around a lot. So if you're looking for a specific value, you're going to have a button that's just bouncing around. And when you see a spike, that doesn't necessarily mean that the button was pressed. So what you have to do is see a spike and basically debounce it so that you know that it's been pressed. If you're lucky, you can have this done in hardware. So the button can do it itself if that can get expensive. If you have to do it in software, you basically have to write an interrupt handler and write a debounce controller into your microcontroller in your code. And this is all done just to verify the inputs that you're seeing. So you constantly have to be doing this kind of stuff. The next big thing that I learned is dealing with blocking code. So on the web, because things happen atomically, they happen pretty fast. Servers are very, very quick. You can do something like, hey, I want to do something where I'm going to write to a database. And I can wait for that write operation to happen. I can trust that it's going to happen in time enough for my request to go back. Unfortunately, that's not always the case in an embedded system. If you send a write to a peripheral, you may have to do other things while you're waiting on that peripheral to acknowledge the write and actually take care of whatever it is that you told it to do. So this would look something like this. You would start the write, and then you keep going through the loop, waiting for the write to be finished, waiting for some flag to tell you or some callback to tell you that the write has been finished. And you're waiting on this peripheral. So these are just sort of differences to how the code works that took me a little bit to wrap my mind around. And they're sort of fundamental to the way you make embedded systems. But that's not the only side of the story. So there's a lot of things with frameworks and libraries. If you're familiar with Rails or OS 10 development or Python, you're probably familiar with Bundler, Cocoa Pods, if easy to install. These are all package management tools. And they manage all of the versions for whatever packages you want. And these are great tools. They're awesome. They make handling your dependencies and handling all of your packages easy. You don't have to think about it anymore. You just put a line in a gem file, bundle install, and you're good. Unfortunately, on the embedded system, you don't really have anything like this. You don't have, you're largely reliant on vendors to provide you libraries. You're not always guaranteed that the vendor is going to give you source code. A lot of times, they'll give you object code. And so now you're reliant on their object code and the documentation. And if the documentation is wrong, and then you're kind of phishing, you have to run the function, see what it returns, see what you're getting back, and try to figure it out. It's almost like reverse engineering it if they don't provide you with good documentation or source code. And I think the biggest difference here is that the tools on the embedded side of this stuff are not as sophisticated as what we have in the app world. And I think that that's due to multiple things. I think it's one, vendors are largely trying to protect IP. And so they think they can manage it on their own that they can protect their IP. And I think it's also due to the fact that a lot of these systems are in someone's IDE and you're inside a specific system that not a lot of people are working on. Whereas on the app side, there's tons of people writing rails and the whole thing is open source. I'll see if you can get in this one. So basically what I'm saying here is that you have no training wheels at all. And even down to the way that you sort of structure programs, so Justin was talking about the Starter series on Saturday where they're going to deal with object-oriented programming and the NBC pattern. So we're all familiar with NBC, with Model New Controller, right? So this is separating your code into what it's actually doing in the discrete part. This is actually baked into most web frameworks and most app frameworks. Now you can get something similar on the hardware side. There's a pattern called Model Conductor Hardware. It's pretty much exactly the same thing. The model is what would be the equivalent of your business logic. The conductor is handling between dealing with the hardware and the model. And then the hardware is what the view would be. But this isn't baked into any sort of embedded framework. You're largely on your own to do this yourself, to be disciplined about it, to structure the code this way. Which, when you're starting out, might be difficult because you just don't know how to structure it. But if you can get to this point where you structure using this abstraction and using this sort of architecture, it makes things like doing test-driven development really nice. So one of the things that is the same, or sort of the same, between the way that I worked in the web and the way that I work in embedded systems, is that you do have some pretty nice test-driven development frameworks.  You need to try and figure out a way to test the system without having someone press that button. Because you want it to be automated. You want to be able to test your logic without having someone have to go over, press the button every time you run your test suite. So this can be a bit tricky, but you can just sort of look at the hardware. So if you have a microcontroller and you know that certain pins are mapped to certain inputs, you know that basically it's just memory. Like you're talking to a register, you're talking to some memory address location that is reading from the button, or that will tell an LCD what you're looking for, or that will tell some periphery what you want. So since it's just memory, can't we just create some section of memory on our own that would stand in for that thing? And the answer is yes, yes you can. So if you are using this model conductor hardware pattern, you can then just sort of create your own software version of hardware. And recognizing that that's important, you can design this in a way where you're not entirely abstracted away from the hardware for all cases, because you do still have to do some sort of full test, but you can test a lot of the interaction this way. And so just as an example of what this might look like, like let's just say you have an array of memory, you've created like an 8-bit integer, and you've got some button that you want to create, and you know that the value needs to be zero. So you can just create a variable that now stands in for that button, and use that as your hardware, and then set it before a test, run a test, and test against what you expect to find. So this was the same, but a little bit different, right? Because I'm still testing, I'm still using TDD, but I'm also now having to divorce myself from this other piece, this hardware piece. But testing is good, and I can find failures. I'm used to finding failures. On the web, my failures usually look something like this, and I can just find out what I'm looking for. And that'll help me find software failures, right? So I can run the Unity suite, and I can find software failures, and I'll know logic problems. But sometimes the problem isn't software, right? I just divorced myself from this hardware, but when I'm running on the hardware, the hardware is also a component that I have to care about, and I have to think about. And that's not necessarily something you're used to doing on the web, because the server is there, and all that stuff, it works, right? But the hardware can be a problem. So maybe your software works perfectly, but a trace on the board is wrong, or is going from one peripheral to the wrong pin, or maybe you shorted out some component. This has actually been a pretty big thing for me to learn, and I'm still sort of learning it, is that sometimes the software is not to blame, and I'll go chasing a software problem, and then it turns out that I blew out some hardware component and just didn't know it, because I wasn't thinking about it. So we were talking about memory a little while ago. Memory is incredibly important on embedded systems. On the server side, we've got basically infinite memory. If you run into a problem, you can buy more memory and just throw more memory at it, or throw another server at it. Again, I know that that's not always the case, but in general, memory is infinite. On embedded systems, it's not infinite. So as a quick question, does anybody know how many bytes this function declaration takes once it's compiled after optimizing for code size, too? Takes four bytes. So just the function declaration, no code inside it, just declaring this function takes four bytes. And now, I found this out because I was working inside of a very small amount of memory. I was working inside a 4k of memory, and that 4k had to hold some vendor libraries. It had to hold my own code, and it had to hold basically the frameworks that I was using, all inside a 4k. So I got to a point where I had extracted some code out that didn't necessarily need to be extracted out into its own function. I extracted it out so that I could read it, because that was a very common thing that I was used to doing on the web, like, oh, I can make this function smaller by just making some human readable function. And I did this, and I compiled the code, and it didn't fit on the chip that I wanted to put it on. So I went through, like, what can I do, what can I do?  And there are ways around this, too, other things. But these are things that you kind of have to think about, and they're way more front of mind. So the story just illustrates that sometimes the solution that you have to use might not be, like, the prettiest solution, or the most elegant solution, because you just have to fit inside this constraint. And these limitations are things that you'll encounter. The last thing that I kind of want to talk about are real time operating systems. So I've been saying that you're basically building an operating system, and you're basically sitting in this loop, and you're waiting for things to come in. And it's still largely true. But when you get to a certain complexity of system, now you might have many peripherals that you need to talk to, and you might need to be talking to them and scheduling jobs and dealing with jobs. So the idea here is that you have a microcontroller, you have some scheduler that's in charge of handling all of these jobs, and then you have a bunch of jobs. And so what the scheduler is going to do is a scheduler is going to start with the jobs and just sort of determine execution time. So this is really what you're doing here, as you're saying, I know these discrete jobs that I want to use, and I know roughly how long they should take. And I'm going to schedule them based on that knowledge. So you want to just sort of jump from job one to job four to job two, job three, job five, back to one. And this is something that I've looked at a little bit. I'm still sort of exploring them and still sort of learning about how these scheduler algorithms work. But it's pretty interesting. On the web, we pretty much our releases look like this, right? Push to master, Jenkins will get it, build it. You're good, right? Deploy it. Cap deploy, maybe. It's like one line. For embedded systems, you're going to compile your code, and then you're going to transfer it to a supplier, some supplier. You're going to issue a change to the supplier, say, hey, use this new code. And then you're going to put that chip on a product, and that'll go to customers. So this whole turnaround time, it might be a week from the time that I actually compile the code till it actually gets put into a product. It could be months before it's actually deployed. So the cycle is much longer. And that kind of goes back to the whole slow down piece. My workflow time is much longer because I'm dealing with just a slower workflow and more challenges. So if you're interested and you want to know where to get started, Arduino is a great place to get started. It's very, very beginner-friendly. You can get up and running. There's plenty of tutorials. There's a lot of shields and a lot of peripherals that you can buy that are fairly cheap. SparkFun and SparkCore, another one.  And yeah, so if you're interested in embedded systems, definitely check these out. It's a lot of fun. It's been challenging for me, but it's been a lot of fun to figure out how these things work and how a lot of this stuff works. And then that is all I've got.


Good morning. First, let me extend a warm welcome to our distinguished ministers and chiefs of defense. Thank you for joining us for today's 15th meeting of the Ukraine Defense Contact Group. I'm Celeste Wallender, Assistant Secretary of Defense for International Security Affairs, and I will serve as facilitator for today's contact group. I would like to welcome Ukraine's Minister of Defense, Rustam Umarov, for joining us today. We welcome your presence and look forward to hearing your thoughts here shortly. Please allow me now to introduce Secretary of Defense Lloyd Austin to deliver opening remarks. Well, good morning everyone. Thanks for joining us for the 15th meeting of the Ukraine Defense Contact Group. And it's great to see both new and familiar faces here today. And I want to start with a word of thanks to Alexei Reznikov for his hard work and dedication and for everything that he did for a free Ukraine in a secure world. I'd like to welcome Ukraine's new Defense Minister, Rustam Umarov, and Rustam. It's great to have you here. I thoroughly enjoyed our call a couple of days ago and certainly enjoyed our meeting that we just concluded. I look forward to working with you and your team closely, and I know that everyone else here does as well. Now, even as we're meeting here, Ukrainian troops are in a hard fight to reclaim their sovereign territory from dug-in Russian invaders. Ukraine's counteroffensive continues to make steady forward progress. And brave Ukrainian troops are breaking through the heavily fortified lines of Russia's Army of Aggression. Ukraine's progress is a testament to the fighting spirit of its people. But Ukraine's recent gains also hinge on the crucial capabilities provided by the members of this Contact Group. And our shared commitment will be vital during the current battles and for the long road ahead. In total, the United States and Ukraine's global partners have committed more than $76 billion in direct security assistance to Ukraine's defense. Now, these donations demonstrate the profound resolve of some 50 countries gathered here. Together, we're getting Ukraine what it needs when it needs it. Together, we're rushing Ukraine the security assistance that it needs for the current counteroffensive and helping it to build a force that will ward off future aggression. And together, we continue to demonstrate our iron sense of purpose. Ladies and gentlemen, history will show the full folly of Putin's reckless, cruel and unprovoked invasion of his peaceful neighbor. In this war, time is not on Putin's side. Time is never on the side of a dictator who launches an imperial war of choice. And time is never on the side of aggression. The people of Ukraine are fighting in self-defense for a just cause. They're fighting to save their futures and secure their freedom.  Throughout this tragic war, Putin has tried to demoralize the Ukrainian people. Instead, he has demoralized the Russian military. And the Kremlin has isolated itself by its flagrant aggression. Just look at the 50 countries proudly represented around this table. Standing together to defend Ukraine in the rules-based international order. And then look at the Kremlin, left alone with the likes of Iran and North Korea. Meanwhile, the United States and our allies and partners have proven our staying power over and over again. So make no mistake, we will stand by the Ukrainian people for the long haul. Since our last meeting, the United States has committed additional security assistance packages totaling more than $2 billion. Those packages include urgently needed air defense, ammunition, and mine clearing equipment. And we're ensuring accountability of U.S. contributions through robust, in-use monitoring. And we'll continue to work closely with our Ukrainian partners to ensure that all assistance is used effectively and safeguarded. I'm also pleased to announce that the M1 Abrams tanks that the United States had previously committed to will be entering Ukraine soon. Now, the more Russia prolongs its war, the more glaring its cruelty becomes. Russia's assault have increased far beyond the battlefield and inflicted untold human suffering. In recent months, Russia has continued to target Ukraine's ports and its grain infrastructure. These attacks so far have destroyed at least 280,000 tons of grain. That's enough to feed as many as 10.5 million people for a year. Russia's attacks continue to threaten global food security and to risk needless humanitarian crises around the planet. So this contact group has stepped up with donations of Patriot, Irish Tea, Hawke, Naysams, and Samp Tea and other air defense systems. And those defensive systems will continue to protect Ukraine's critical infrastructure, including grain and energy supplies. I've said it before and I'll say it again. Air defense is saving lives. So I urge this group to continue to dig deep on ground-based air defense for Ukraine. We must continue to push hard to provide Ukraine with the air defense systems and interceptors that it needs. And right now, in the heat of battle, we must also keep pushing to get Ukraine the ammunition that it needs to keep up the fight, including 155-millimeter ammunition. And we're looking further ahead to ensure that Ukraine can deter future aggression and defend its sovereign territory. So let me say just a word about the contact group's long-term capability coalitions. These formations further fortify Ukraine's ability to outlast Russian aggression. I'm grateful to many friends here today, including Denmark, Estonia, Germany, Luxembourg, the Netherlands, and Poland, for stepping up to lead coalitions. These coalitions are tackling specific capabilities, such as leopard tanks, F-16 training, and information technology. And we'll hear updates on their work later today. And to add to this group's long-term support for Ukraine, I'm proud to announce that the United States is supplementing the F-16 training coalition with U.S.-based training. All this underscores a key topic for today's meeting. The future of Ukraine's armed forces and how this coalition will evolve to help Ukraine build a credible, capable combat force for the long term. Our commitment to Ukraine isn't just for the duration of one campaign. It's a commitment to long-term security in Europe and beyond. And it's a commitment to our shared values of freedom and sovereignty. This contact group has done so much for the people of Ukraine. And it must continue to evolve to sustain our support over the long haul.  We will stay resolute.  And thank you for being here. And so now we'll pause just a moment to let our friends in the media depart.


Good evening aspirants. I have an announcement to make. Asprelims is nearing, our Akadami that is Shankarayesh Akadami has launched a mock test program that is a free all India mock test program. The test starts on 15th of May 2022. The test will be held in both online and offline modes across 13 centres. The link for registration for the online mock test is given in the description. Use this opportunity and check your progress. Now let us get into the discussion. Today 19th of April 2022. The list of articles we will be discussing today is displayed here. Now let's start the discussion. Take a look at this news article. This article talks about the showers and thunderstorms in parts of Telangana. So let us take this as an opportunity to learn about thunderstorms, its formation and its types. First, what is a thunderstorm? A thunderstorm is a violent, short lived weather disturbance. It is almost always associated with lightning, thunder, dense clouds, heavy rain and strong or gusty winds. Now when does it occur and how does a thunderstorm gets formed? See thunderstorms arise when layers of warm moist air rapidly raises to the cooler regions of the atmosphere. There the moisture contained in the racing warm air condenses to form large cumulonimbus clouds and then eventually precipitation occurs. See this is how thunderstorm forms. Also note that while warm moist air is raising upwards, columns of cooled air sink earthward. Once this cooled air reaches the earth, it moves in the horizontal direction as strong winds. Now why is thunderstorm always associated with lightning and thunder? See when thunderstorm occurs, electrical charges accumulate on cloud particles. Cloud particles here are nothing but water droplets and ice that is present in the cloud. These electric charge keep on accumulating. Once the electric charge is sufficient enough, lightning discharge occurs. When lightning occurs, it heats up the air, it passes through. We all know what happens when air gets heated up right. Yes, it expands. So when air expands suddenly due to lightning, shock waves are created. These shock waves are heard as claps and rolls of thunder. So this is why thunderstorm is always associated with lightning and thunder. In addition to lightning and thunder, sometimes severe thunderstorms are accompanied by swirling vortices of air that becomes so concentrated and so powerful that sometime they end up forming tornadoes. Now what is a tornado? A tornado is nothing but a violent rotating column of air extending from the base of the thunderstorm down to the earth's surface. So this is what a tornado is. See these are the basics about thunderstorm. Now let us see the types of thunderstorms. First let us take single cell and multi cell thunderstorm. In that first let us take single cell thunderstorm. See a single cell thunderstorm is also known as a popcorn convection. These storms are small, brief and very weak. They tend to grow and die within an hour. You will typically see these storms on a hot summer afternoon. But don't be fooled by their weak description. Single cell thunderstorm can produce brief heavy rain and lightning. On the other hand multi cell thunderstorm can be a bit more severe. As your typical thunderstorm, multi cell thunderstorm can produce new cells and therefore last as a system for hours. They can also produce hail, strong winds, brief tornadoes and flooding. This is about multi cell thunderstorms. The next classification is squalls and supercells. First let us take squalls. When multi cell thunderstorm occurs in a straight line that is 10 to 20 miles wide, we call that a squall line. This group of storms is often accompanied by high winds and heavy rain. While squall lines can be very intense, they tend to pass very quickly. That is squall lines are short lived but they produce high winds and heavy rain. This is about squall lines. Now moving on to supercells. Supercells are long lived. In fact, they occur for at least 1 hour. These heavy organized storms feed off an racing hot air that is tilted and rotating. This racing hot air column or updraft can be up to 10 miles in diameter and up to 50,000 feet tall. So this is the difference between squall line and supercell thunderstorms. Now moving on. The last type of thunderstorm grouping is the MISO Scale Convection System. This is a collection of thunderstorms that can spread across an entire state and last more than 12 hours. So this is the largest and most intense thunderstorm. So these are the types of thunderstorms you have to know for your Plym's examination. Now before completing this discussion, let us do a quick recap. What all we saw in this discussion? We saw what are thunderstorms? How they are formed? Then we saw why thunder and lightning are associated with thunderstorms. Then we saw why tornadoes form? After that we saw about the different types of thunderstorms. In that we saw about single cell and multi cell thunderstorms. Then we saw about squall lines and supercell thunderstorms and finally we saw what is MISO Scale Convection System. With this, let us conclude this discussion and take up the next news article. See this article here. It is an editorial article. See it says that Sri Lanka has been in use so much and its current crisis are the stuff of popular knowledge. See the crisis is the extreme deprivation caused to its people due to the absence of staple food at an affordable price in the market and it is due to shortage of petrol at the petrol pump. And there is this reducing foreign exchange reserves which are needed not only to import food but also service external debt. There are many factors that led to this crisis in Sri Lanka. We also discussed about the causes of the crisis as a part of our discussion previously. But here what is difficult to understand is that how is that a country fails to produce sufficiently even the most basic of foodstuff such as rice and milk powder. We will understand this in this discussion. Apart from this, this article also talks about three lessons for India from the current Sri Lankan economic crisis. We will also see about these three lessons. Before getting into the discussion, first the syllabus regarding this discussion is highlighted here for your reference you can go through it. Now let us start the discussion. See, since the end of the colonial rule, Sri Lanka's political arrangement have been a combination of nationalism in politics and welfareism in economics. Particularly, ethno-nationalism was given more importance. This can be seen in the terms of Singhala identity. It is also visible in the official Singhala only language policy introduced. See, this action it empowered ethno-chauhanism and it left the Tamil-speaking population insecure. The origins of the linguistic disenfranchisement of Tamils caused not only the alienation of the Tamil-speaking population but also led to the formation of the Tamil Tigers that is LTT and a civil war. See, as you may know, the Tamil Tigers were fully vanquished but it took over 200 decades for the Sri Lankan state to achieve this. Meanwhile, there was an exodus of the Tamils. See, here exodus is a situation in which many people leave a place at the same time. See, due to the harsh policies of the Sri Lankan government, the Tamils who were well-off economically went for the western countries like the United Kingdom and Canada and Tamils who were not well-off but were able to escape headed to Tamil Nadu. The Tamils in Sri Lanka before the civil war had significant presence in all professions. So, after the war, when the exodus of the Tamils happened, Sri Lanka experienced a loss of expertise in almost all spheres. This loss of expertise was not immediately felt. The economic issues due to the exodus of the Tamil people was slowly building up. See, the impact of the loss of technical expertise for an economy is slow and often it is impossible to clearly distinguish but it sure will affect the economy adversely. In addition to this, the civil war also affected the investment. See, the private investors would be reluctant to commit their money in the time of war and uncertainty. This is the private investment. And think about the government side also. See, a government pursuing a civil war will hardly make any public investment. And why is this? See, this is because it is bound to be, that is the government is bound to be severely fund constrained due to its military operations. And it would not have the time to address stress points that arise in an market economy. And it would not have the time for the economic development plan. So, the takeaway point here is that a social strafe, that is a trouble or fight between two social groups will hamper the development of the productive forces of a country and its economic growth will be affected. And this is the first and foremost lesson for India from Sri Lanka. See, Sri Lanka's crisis may seem economic on the surface. But it came from social strafe and this social strafe is because of the majoritarian identity politics followed by the government. Know that identity politics between social groups is the root cause for economic disaster. Now, you may think, how is this related to India? See, even if there is an improvement in ease of doing business, the strafe between the center and the state and antagonism, that is the feeling of hate between religious communities are sure way to negatively impact investment in India. And this can be seen in the exit of some high net worth Indians from our country. And there is also an outflow of foreign debt investment due to this. So, according to the author, India must move away from identity politics and work towards social integration to achieve economic growth. This is the first lesson. Now moving on to the next one. See, the second is about how a flawed economic policy can affect a country's economic prospects. In the 1950s, the Sri Lankan economic policy was praised for its welfare programs. Sri Lanka was particularly praised for its subsidized rise program. But not everyone was impressed at that time. Cambridge economist John Robinson had described this as a case of wanting to taste the fruit before growing it. John Robinson was against the policy of welfareism followed by the Sri Lankan government. Here, welfareism is an economic policy which mainly focuses on the distribution of consumer goods. In Sri Lanka, distribution went ahead of domestic sources. That is, before building up a strong base of production, the Sri Lankan government went ahead with the distribution of resources. This is also one of the reason for the present crisis in Sri Lanka. And this should be a lesson for the political class of India. See, as India's economy has grown, many of the states have stepped up their welfare spending. Somehow distributed bicycles for girls and others, television sets and laptops for families and students. See, when revenues are limited, government concentrating on providing free bicycles, laptops or television might limit government spending on measures that increases economic productivity of the country. And the measures that increase in country's economic productivity includes building social infrastructure like schools, hospitals and physical infrastructure like roads and railways. See, what the author is essentially saying here is that instead of focusing on freebies, the government must focus on providing the people with basic infrastructure first. The author also says that there is also an ethical issue when government focuses more on welfareism. See, when welfareism is funded by government revenue, it is fine. But when welfareism is financed by borrowing, it is the future generations that pay for the current conception. Here I want to quote a famous economist Milton Friedman. Milton Friedman said, there is no free lunch. What Milton Friedman says through this is that nothing in an economy is free. If a government is providing something to you for free, you are going to pay for it indirectly. When something is provided for free in an unsustainable manner, it is the future generation that will get affected. And this is the second lesson, which is welfareism beyond a country's capacity is detrimental to the country's economic health. This is the second lesson that India can learn from the current crisis in Sri Lanka. Now coming to the third and the final lesson. See, Sri Lanka looked at openness to the world economy as a universal remedy to its economic problems. In the 1970s, in a switch from the socialist economic policy, Sri Lanka liberalized trade and capital flows. What naturally happens after globalization is that country's economy integrates with the global supply chain. When fully integrated to the global economy, what every country does is it stops producing products when it can be bought at a cheap rate in the international market. This is a very normal rational economic decision. This is exactly what Sri Lanka did. Sri Lanka started specializing on producing goods which could be sold at a higher margin in the international market like tea, textile and rubber and started relying on imports for goods that it does not produce, that is mostly essential items like food crops. This economic decision of Sri Lanka is based on a wrong assumption that there will be a continuous demand in the world market for the goods that the country produces. In this case, it is tea, rubber and textiles. When pandemic struck, the global demand for Sri Lanka's main export products decreased. So, its forex earning also was affected. But at the same time, Sri Lanka has to continue to import essential commodities like food and fuel for which Sri Lanka has no domestic production base. This is how the Sri Lankan crisis occurred. It occurred due to over reliance on liberalization and flawed economic policy. So, Sri Lanka's first task to combat the crisis would be to urgently revive its food production sector. This is the next lesson for India. See, although economic integration with the world economy is important, India must also ensure protection of essential commodities within India itself. So, according to the author, India must focus argumenting local production of oil seeds and different equipments. India must also improve production of renewable energy to reduce its oil dependency. Okay, that's all about this editorial. Before concluding this discussion, let us do a quick recap. Although this discussion was lengthy, the essence of this discussion is basically this. What India must learn from Sri Lanka crisis is that instead of focusing on identity politics, India must focus on social integration. The next lesson is that while welfareism is important, India must spend within its means and not over extent. Welfareism and investment in physical and social infrastructure must go hand in hand. Finally, India must argument its domestic production of essential commodity and move away from import dependency. These are the key takeaway points from this discussion. With this, let us conclude this discussion and take up the next news article. Look at this news article. This news article talks about hemophilia. The Home Minister said that Health Department will try its best to improve the quality of life of hemophilia patients. This is as per the International Protocol. This attempt is to ensure maximum treatment facilities for hemophilia patients at Thaluk Hospital level so that patients are not put to difficulties. This is the essence of the article given here. So in this context, let us learn about hemophilia. What is hemophilia? Hemophilia is an inherited condition. It causes bleeding for long time after injury or surgery and painful swelling of joints either after injury or even without injury. Here inherited means the disease is passed from parents to children through their genes. Now what causes hemophilia? Hemophilia is due to a deficiency of clotting factor that results in increased bleeding. There are two types of hemophilia. Firstly, hemophilia A. This is due to the deficiency in clotting factor 8. See, hemophilia A is more common and occurs in 1 in 5000 births. Now the second type is hemophilia B. It is caused due to deficiency in clotting factor 9. See, this hemophilia B is less common and occurs in 1 in about 20,000 births. So these are the causes and the types of hemophilia. Now, how is hemophilia inherited from our parents? The disease of hemophilia is x-linked and inherited from the mother. Though the disease of hemophilia is present mostly in males. In the x-linked variety of hemophilia, the inheritance is due to a defective gene in the x-chromosome. All humans have x-chromosome. In females there are two x-chromosome, while males have one x and one y-chromosome. Only the x-chromosome carries the genes related to hemophilia.  If a female has a defective gene on one of her x-chromosome, she is a hemophilia carrier and she will not suffer from hemophilia. She will just be a carrier alone. See, the hemophilia carrier does not suffer from hemophilia, but they can pass on the disease to their sons. Their daughters will not have the disease, but they may also be carriers like their mothers. See, hemophilia can also occur as new mutations in families without the history of hemophilia also. Since x-linked disorders are associated with mutations on x-chromosome, these disorders affect males more often than females. Because females have an additional x-chromosome that acts as a backup and males only have x-chromosome. Any mutation in factor 8 or factor 9 of the gene will result in hemophilia. See, like hemophilia, there are few more disorders that are caused due to x-linked disorders. For example, red-green color blindness, congenital night blindness, some high blood pressure genes, ducine muscular dystrophy and fragile x-syndrome are caused due to x-linked disorder. That's all regarding this discussion. Just a small recap before we conclude. Hemophilia is a condition in which ability to form blood clots is reduced. It is an x-linked inherited disease. It affects men more often than women. Women can be carriers of defective gene, but they do not get affected by the disease due to the presence of additional x-chromosome. Okay? These are the take-away points from this discussion. With this, let us conclude this discussion in the next news article. See this article here. It talks about organ allocation for the transplantation. It says that TransTan, which is the transplant authority of Tamil Nadu, has made the patient registration a fully automated process. This is done via an application and this application was rolled out in August 2021 by TransTan. This application is called as VDL and the registration of patients from start to finish is done on this platform. And the article also says that no TransTan is testing the possibility of organ allocation through its recently developed application to make the entire process transparent. This is the crux of the article given here. In this context, let us learn about the issues related to organ transplantation and the steps taken by the government regarding this. First of all, organ transplantation is defined as a transfer of an organ or tissue from one person's body into another person's body to replace a deceased or failed organ or tissue. And a transplant candidate is an individual who has been identified as medically suited to benefit from an organ transplant and has been placed on waiting list by the organ program. See, there are many legal, ethical and human rights issues involved in organ transplantation. Now we will see them one by one. First of all, let us see the systemic issues associated with organ transplantation. In spite of periodic amendments to organ transplant act in the recent past, there has not been a significant change in overall donation numbers or to the establishment of donation system within the country. Secondly, in the case of living organ donation, that is from a living donor to a recipient, if the donor is not related to the recipient, the transplant needs to be approved by a state level committee or hospital committee including government officials. And naturally, this long process and requirements lead to delays in the whole transplantation process. Thirdly, in the case of deceased organ donations, only few hospitals declare brain deaths and people are not in place to counsel families both of which are leading to poor organ donation rate in our country. See, brain death as a form of death is not widely understood or recognized by the public. Also, there is hesitation on the part of the medical community to certify brain death. This has to change if organ donation rates have to increase in our country. And then there is the infrastructural and skilled personal problems. See, only few hospitals are equipped in terms of required personnel that is qualified doctors and has required equipments to conduct a successful organ transplantation. In addition to this, there is only a limited facilities for transport of donated organs in critical situations. This is regarding the infrastructural and skilled personal problems. Then there is the lack of awareness and religious and other issues related to organ transplantation. See, lack of awareness remains one of the leading reasons for low organ donation rates in India. There are no structured or focused awareness initiatives or drives to help people understand what, why and how of organ donation. It is a usual refrain that people in India do not sign up for organ donation. But in reality, there are hardly any platform available for signing up for organ donation. Most people have never been offered this opportunity in their lifetime. Many even don't know where to go even if they are aware and willing. Okay? So, lack of awareness remains one of the leading reasons for low organ donation rates in India. Now moving on. Religious beliefs also may be the reason why families do not agree to deceased organ donation. The idea of charity and perception about organ donation varies from one community to another. The religious mindset together with unpleasant experience in the healthcare sector faced by people is detrimental to the improvement of organ transplantation sector in India. And then there is the clinical issues also. Which is the expectation of the possibility of organ rejection. See certain studies reveal that technically there is always a possibility that the patient might face a rejection wherein body fights of the newly implanted organ even if the surgery goes well. Rejection is harmful to transplant success because body fights of the new organ as if it were a virus or a bacteria. The immune system makes proteins called antibodies that goes on to the transplanted organ and tries to kill it. So this is the clinical issues that is proving detrimental to the organ donation ecosystem in India. Finally, the major issue regarding organ donation in India is the lack of centralized registry for organ donation which is normally present in other countries. See India does not have a centralized system in place to enable and assist donors or medical institutions. There is no centralized list of potential recipients being available to different hospitals so that organs could reach the right people at the right time. Lack of centralized registry also leads to unethical and unhealthy practices like organ transplant racketeering. Further it leads to wastage of organs also. See apart from few states there is no sharing of protocol in place in the rest of India regarding organ transplantation. See these are the many issues that are detrimental to organ donation and organ transplantation ecosystem in our country. And according to the article for making the whole process transparent, trans-stand, that is the organ transplant authority of Tamil Nadu is testing the possibility of organ allocation through its recently developed application that is VDL. See to overcome the challenges and to fine-tune the process to achieve the two contradicting goals of transparency and data privacy, the VDL app was launched for patient registry and organ allocation. See from sending SMS and emails to hospitals trans-stand has no mood to WhatsApp based allocation in May 2018 to intimate about the availability of organ donors. Trans-stand redesigned the patient registry and registration to make it a fully automated process. And this is done by integrating other authentication payment gateway for private hospitals, SMS pathway, automated calls to hospitals and web and mobile notification. See it ensued that patient database was secure and this will also help improve transparency and help in standardizing the whole organ allocation process. Okay, that's all regarding this discussion. In this discussion, we saw about the various issues hampering organ donation in India. We also saw some steps taken by trans-stand to make organ transportation process transparent. With these points, let us conclude this discussion and take up the next news article. Take a look at this news article. It talks about the use of electric vehicles by the delivery personnel like those working in Zomato, Swiggy, Dunzo, etc. This is because fuel prices are increasing rapidly. That is, the delivery personnel's expenditure towards fuel has increased when compared to their income. Okay, hence a few companies are looking at switching to a safer and more sustainable option for their delivery partners. In this context today, let us discuss about the important provisions of the National Electric Mobility Plan 2020. See, first, what is national electric mobility plan? It is a national mission document prepared in 2020. It is to provide vision and roadmap for the faster adoption of electric vehicles and their manufacturing in the country. This plan has been designed to enhance national fuel security then to provide affordable and environmentally friendly transportation. And lastly, to enable the Indian automotive industry to achieve greater manufacturing leadership in the electric vehicle sector. Okay, now let us see some important provisions of this plan. National Electric Mobility Mission intends to allow hybrid and electric vehicles to become the first choice for the purchasers. This is to replace the conventional vehicles and thus reducing the liquid fuel consumption in the country. Okay, this National Electric Mobility Plan is a composite scheme. The mission uses various methods to enhance faster adoption of electric vehicles. Firstly, it provides incentives. By providing demand side incentives to the consumers, the mission plans to facilitate the acquisition of hybrid or electric vehicles by the consumers. Along with demand side incentives to the consumers, the mission also provides supply side incentives to the producers. This is to encourage local manufacturing of e-vehicles. The next focus is on research and development. The mission is promoting research and development in technology, include battery technology, power electronics, motors, system integration, battery management system, testing infrastructure and ensuring industry participation. See, this will help bring down the cost of e-vehicles. Okay, the next focus is on the promotion of charging infrastructure. Only when the charging infrastructure is properly developed people will start buying e-vehicles. Okay, finally, the mission plans to encourage retro fitment of on-road conventional vehicles with hybrid kit. See, these are the focus areas mentioned in the mission for faster adoption of electric vehicles. Okay, that's all regarding the National Electric Mobility Mission Plan 2020. With this, let us conclude the news article discussion and take up the practice problems questions. We have two practice problems questions today. Let us see them one by one. Look at the first question. This question is in regards to organ transplantation. It is a two statements question. We have to find the correct statements. Let us take up the first statement. After natural cardiac death, only a few organs or tissues can be donated, like cornea, bone, skin, blood vessels whereas after brainstem death, almost 37 different organs and tissues can be donated including vital organs such as kidneys, heart, liver and lungs. See, this statement is correct. Indeed, after brainstem death, almost all vital organs can be donated and in case of natural cardiac death only few organs or tissues can be donated. See, in India brainstem death is recognized as a legal death under transplantation of human organs act. Okay, this is regarding the first statement and this statement is correct. Let us take up the second statement. Tissues are not included as organs as per the transplantation of human organs amendment act 2011. See, this statement is incorrect. Government of India initiated the process of amending and reforming the transplantation of human organs act 1994 and consequently the transplantation of human organs amendment act 2011 was enacted. One of the important amendments under the amendment act 2011 is that tissues have not been included along with organs. So, statement 2 is incorrect. Since statement 1 is correct and statement 2 is incorrect the correct option here is option A only. Now, let us take up the second question. This is also a two statement question. This question is in reference to National Electric Mobility Mission Plan. Let us take up the first statement. National Electric Mobility Mission Plan launched faster adoption and manufacturing of hybrid and electric vehicles in India scheme. This statement is correct. Indeed NEMMP launched the Fame India scheme to promote manufacturing of electric and hybrid vehicle technology. Now let us take up the second statement. NEMMP planned to enhance national fuel security. See, this statement is also correct because from our discussion we saw that National Electric Mobility Mission is a composite scheme which is designed to enhance national fuel security and it also plans to provide affordable and environmentally friendly transportation. The mission plan also plans to enable Indian Automotive Industry to achieve global manufacturing leadership. So, both statements 1 and 2 are correct. So, correct option here is option C both 1 and 2. The main question based on today's discussion is displayed here. Write your answers and post it in the comment section. If you liked today's discussion, like, comment and share it with your friends and subscribe to Shankara AS Academy YouTube channel. Thank you.