is here not our guests but our host I should say ladies and gentlemen the president of the United States thank you thank you all very much please well thank you all very much and welcome to the White House you know I always feel a little odd when I stand over here in the EEOB building and say welcome to the White House but evidently that's kind of consider the same thing here so I've never tried sleeping here but I don't know I know you've had others talking to you and you've had some briefings here today as anyone told you about the figures released at 8 30 this morning by the Commerce Department they haven't goody personal income up in January to 1.1 percent it's been nine-tenths of 1% for the last three months until January disposable income up the same figure and consumption expenditures up 1.2 percent in January also housing starts in January 1.9 million that's almost 15 14.9 percent above December and it's the highest level since December of 1978 and housing permits are 14.4 percent above the December figure for January for new construction well that's probably better than anything else I've got to say well I know how much Ed Pratt and your organization have done to promote free and fair trade and believe me we'll need your help this year if America is to meet her trade challenge for the 80s you appreciate more than most what's at stake a nearly two trillion dollar market abroad the chance to create hundreds of thousands of jobs more income security for people and greater freedom and security for our country now some who fear the future would invoke protectionism I think that would be a terrible mistake trying to protect domestic jobs with high tariffs quotas and subsidies will kill more jobs than it saves it'll raise prices and reduce sales because other countries will retaliate and protecting a few industries at home will only shield them from modernizing their plant and equipment which they must do if they expect to compete in world markets the great English historian Thomas Babington Macaulay wrote more than a century ago that free trade is one of the greatest blessings a government can confer on a people but he said it's unpopular in almost every country well for some times haven't changed as you know there's a hue and cry for us to bend to protectionist measures and we must resist it I've been around long enough to remember that when we did that once before in this century something called smooth holly we lived through a nightmare the Great Depression of the 1930s world trade fell by 60% contributing to that depression and to the political turmoil that led to World War two we and our trading partners are in the same boat and we have to remember that if one partner shoots a hole in the bottom of the boat it doesn't make much sense for the other partner to shoot another hole some people say doing that is getting tough I think it's just getting wet all over we must plug the holes in the boat of open markets and free trade and set sail toward prosperity no one should mistake our determination to use our full power and influence to prevent anyone from destroying the boat and sinking us all there's a fundamental difference between positive support of legitimate American interest and rights in world trade and the negative actions of protectionist free trade can only survive if all the parties play by the same rules we're determined to ensure equity in our markets but defending workers in industries from unfair and predatory trade practices is not protectionism it's legitimate action under U.S. and international law now one example of protectionist legislation that could quickly sabotage recovery however is the local content rule it should be renamed the jobs destruction bill we can't allow that kind of pull up the drawbridge mentality to destroy the progress that we've made so I just hope that you will do everything you can to help us defeat it and every bill like it Americans can be optimistic about our future if we build on our strengths we have tremendous resources and knowledge and science agriculture and high technology I don't know how many of you stopped to consider this but our challenge of building a permanently man space station within the next decade we think can open up an entire new industry for space-based or industries in the plural for space-based entrepreneurs there's a whole new world of exports and products and activities related to space just waiting to be developed for example there are metal alloys and life-saving medicines that may be produced only in a space-based environment we're in a position of leadership and I intend to make sure we do everything we can to retain it and to build on it that's why I've asked transportation secretary Elizabeth Dole to help stimulate private sector investment in commercial unmanned space boosters we need a thriving commercial launch industry and NASA along with other departments and agencies will be taking several initiatives to promote private sector investments so we can keep our lead over foreign competitors the answer to our export challenge is not raising taxes which would harm investment productivity and growth and it's not undermining confidence in the value of the dollar which would reignite inflation and make us less competitive the answer is promoting more free and open trading markets throughout the world giving people incentives and telling government either cooperate or get out of the way now one example of government cooperation we favor is the Export Trading Company Act I know your strong support helped insurance passage and we thank you for that this is the kind of innovative idea that is based on teamwork that can expand exports increase growth lower deficits and spark new jobs and opportunities for our people we're also very grateful for your support in the passage of the Caribbean Basin Initiative the spirit of that legislation is friends helping friends it'll be a collective partnership for peace prosperity and democracy in the Caribbean and in Central America a partnership born of our shared vision that democracy is a God-given birthright and that faith freedom and respect for the dignity of every citizen of the main springs of human progress America's greatest progress has always been made when we had the first the faith to believe in our vision energy in the spirit of our people our message to the world should be straightforward we conquer fear with faith we overcome poverty with growth and we counter violence with opportunity and freedom and that's what we're trying very hard to do our principles have never failed us when we had the courage to live up to them I can't leave you now without telling a little story here I hope it hasn't gotten to you yet but mentioning the Caribbean Basin Initiative has reminded me of it our recent experience in Grenada and incidentally speaking of entrepreneurship they have a t-shirt down there one has been delivered to me those t-shirts are going like hotcakes and they're a t-shirt with the crossed flags of Grenada in the United States and a line underneath that says thank you for saving Grenada the thank our country in America for saving Grenada but this has to do with the story it's true story a young Marine Lieutenant flying a cobra was down there in the Grenada rescue mission and then he went on over to Beirut and after getting to Beirut he sent back a message to the Armed Forces Journal in the Pentagon he said that he noted that every news story about Negrada and Grenada day after day every news story had one line in it the same always it said Grenada produces more nutmeg than any other spot on earth and he decided that the constant repetition of that line must be a code and he had broken the code in six points that he sent back to the Armed Forces Journal number one Grenada does produce more nutmeg than any other spot on earth number two the Soviets and Cubans are trying to take Grenada number three you can't make good eggnog without nutmeg number four you can't have Christmas without eggnog number five the Soviets and Cubans are trying to steal Christmas and number six we stopped them thank you all again for all that you're doing and God bless you all


History reminds us, when the world is faced with an unsurmountable challenge, the greatest leaders stand together and act in the common interest of all. Together, we can achieve great things, not because they are easy, but because they are hard. COVID-19 is the greatest challenge of our time. A global crisis that the world has not seen in a generation. Science has provided the first tests, treatments and vaccines needed to save lives. But with a growing divide between the haves and have-nots, we risk leaving people behind. No one is safe until everyone is safe. The WHO Act Accelerator is the only global collaboration that conceals through this. But with a critical funding gap, we urgently call on world leaders to stand together and to share the burden of responsibility fairly, to fully fund the Act Accelerator, to immediately share surplus vaccines and ensure science keeps pace with the pandemic. This investment will save lives. It will prevent health systems collapsing. It will restore global economies. We must act decisively, not individually but collectively. Now is the time to pull the world back from the precipice of immeasurable suffering, to make decisions that will be remembered for a hundred years, as we remember the might and collective endeavour of our heroes, both past and present. The time to act is now. To act together, to save lives, to invest in the Act Accelerator.


Welcome to JSA TV, the newsroom for tech and telecom professionals, and JSA Radio, the voice for tech and telecom on iHot Radio. I'm Jamie Scott-Ogutaya of JSA. We are here at the lovely PTC 2017 in Honolulu with my friend, Sammer Bichet, CEO of Airstel. Sammer, thank you for joining us here on JSA TV. Thanks for having me, Jamie. Oh, our pleasure. So for our viewers who might not already know, can you tell us a little bit about Airstel? So Airstel is a telephone company in Canada. We provide voice and data services across the country. We've expanded in the multiple verticals across the board through some acquisitions and organic growth in the last few years. We've been around for 18 years, and we continue to grow and leverage and expand and focus mainly on the M2M IoT and Enterprise strategy for 2017. So Airstel services and target markets, can you tell us a little bit about that? Yeah, we don't like to be called the traditional carrier. That's becoming very obsolete quickly. What we're trying to innovate is basically building a platform that allows us to offer infrastructure as a service. And through that, we're able to provide next-gen type services to our partners and our end-users that can provision basically services on the fly. And so what type of folks, network operators, would be looking to benefit from you? So basically, anybody from a carrier, from to Enterprise, to mobile users through our mobile division, we're the only SEALEC in Canada or phone company that has access in all 10 provinces and the three territories. So we're coast to coast, to coast, all the way up to the Arctic Ocean, in a place called Taktyak Tak. I always like to say that name. And through that network coverage, we're able to provide a slew of services that are advantageous to end-users and customers, especially rural Canada that is really suffering a lot from the digital divide that we have. Wow, that's amazing. What a network reach. That's quite great. So when I have a CEO in the hot seat next to me, I like to ask this question. Looking in your crystal ball, what are your predictions that you see as we embark on 2017? Yeah, it's a very interesting question because I think it's going to be a lot of convergence that's going to happen over the next, over just this year. I see a lot of convergence specifically in Canada. And the consolidation and the new technologies that are readily available to us now that weren't available before is going to allow us to venture in new worlds, basically. And as a matter of fact, I'd like to briefly talk about a company that I co-founded, Kepler Communications, which is a nano-satellite company. And we're designing satellites that are launching to space end of this year. We successfully raised the money, and the satellites are literally this big. And loaf of bread, basically five kilograms. So that type of stuff and innovation is going to bring a whole new product and next-gen level of services to consumers. I love that. I love that. So for our viewers who I'm sure want to know more, where can they go? www.irostell.com. Thank you so much, Sammer, for joining us here. And thank you, viewers, for tuning in to JSA-TV and JSA Radio.


Get outside and learn something new. All summer long, Maine Audubon will be hosting programs and events. At Galesland Farm, kids can learn about wildlife, habitats and our environment. But it's not just for kids. Adults can explore the beauty of Maine too. From bird watches to canoe tours in Scarborough Marsh, there's something for everyone. To learn more, visit MaineAuthobon.org. Maine Audubon summer programs. Brought to you by CBS 13.


So I'm going to talk about memory optimization and specifically, you know, the idea is that it registers everything in memory, right? So if you're, you know, unless you've got a lot of money to burn on RAM, you need to start thinking about how do you optimize your data structures so that, you know, you can optimize.  So that's the goal of my topic. The way I'm trying to structure this is, you know, talk about three things, internal data structures for Redis. So Redis has got five data types and, you know, but internally, how are they stored? What is the internal representation when Redis is using in memory? So I'll spend a little time on that and that will, that will help me to go on to the next topic, which is once you understand how Redis is storing data internally, what can you do as a developer to make the best use of memory? So that's, that's how, so I'll have a certain set of tips and then every once in a while you end up with problems there in production, you're using a lot of memory and you want to find out which key is causing the problem or what set of data is causing the problem. So how do you diagnose that? So there's some tools which can help you in that. So I'm going to start with the internal representation, right? So this is a, this is a very general statement, but Redis is sort of storing everything in a big hash map or a big dictionary, right? So you've got a top level namespace where you've got all the keys and the keys can only be strings, right? And the values, they can be some of these five data types, right? So these are the five data types that Redis supports. And so at a very general level, Redis only has one big dictionary and these five data types, right?  And so even if you're storing small strings, there is an overhead because you're storing them in a larger dictionary, right? And so if you're storing a set, the set would have a key, that key is what is there in the dictionary and the set is stored separately outside the dictionary as a pointer sort of. So from moving on from here, the internal data types that Redis has, you know, these are the six or seven, there's another one, but sort of deprecated, but these are the data types that Redis uses internally to store all data in memory, right? What I'm trying to go through this real quickly, the objective is just understand a little bit of how this is stored and, you know, laid out in memory so that you know, when I'm storing a piece of data, how does it store and what can you do to optimize it? So real quick, strings, you know, plain old byte array sort of a thing, dictionaries, w link list again, I'll have a slide later on. So actually, let's just go ahead. So the first data type is the most common, which is string. And string is actually a misnomer. When you talk about strings, we're talking usually about characters, but in Redis string consider string as a byte array. It is, it is, you know, just an array of bytes and you can store any sort of data in that. So it's not that you can only store characters and text. You can store any sort of binary data. You can store long integers, big arrays and internally string data structure is used as a building block for other data structures, right? So if you're storing, say it will come up later, but then if you're storing a small list or a small set, then Redis will do optimization to store it internally in a string, which, which is actually just a byte array, right? So this is, this is sort of the basic building block. Two important things about a string is that it's a byte array. And the second thing is that it is a prefix. The, the length of the string is prefixed. So, I mean in C, I mean Redis is written in C, right? A string, the size of a string, if you want to find out, you have to go until you find the trailing slash zero. But in Redis, the way it is implemented is that the length of the string is before, is known beforehand. So, yeah, so this is, this is one of the fundamental data structures. Sorry, it depends on the length of the string, right? I mean, it's just, yes. No, I'm sorry. The, there's a limit to the size of the string, and so it just takes that. It's a prefix, it's a fixed size. It's not variable. It's a dictionary. So dictionary is basically a hash table. And this is again, I mean, after strings, this is the second most common. So hash tables or dictionary, the top level thing in C, I mean, in Redis is a dictionary. So all your top level keys are stored in a dictionary and the values could be any of the five data structures, right? That, yeah. But hash tables are also used internally to implement the set. So you've got these logical data types, right? So Redis has the logical data type called set. Now internally, a set is implemented using a hash table, right? So similarly, so you've got your top level keys stored in a hash. The set itself, the elements of a set are stored in this. And then you've got the hash data structure, right? Where you can store key value pairs. So that itself is a hash data structure. So these are the three main places where hash is used. One thing that influences memory is that there are actually two hash tables when you're talking in Redis, right? So if you're familiar with the hash data structure, as you keep on adding more elements to the hash, you sort of end up into a chain-like situation. So hash is implemented as buckets, right? And so when a bucket, when you add another element to the bucket, it sort of maintains a link list and you keep on adding. So if the hash table is not implemented correctly, at some point of time it will degenerate into a link list, where even if you have a key, it will keep on trying to find out in that bucket, right? So in order to avoid that, Redis maintains two hash tables. And it does something called as incremental hashing. So what it does is every time you do a hash operation, it will try to migrate some of the keys from one table to another. So the purpose of this is because you've got two hash tables, it is sort of, you know, it is good in one sense that you're not degenerating into an order n retrieval time, but it is also bad in the sense that you now have, you know, you've got two data structures and so you have to maintain that and therefore there is more memory to it, right? So anyways, the short summary is that dictionary is used for your top-level key, it's used for your hash set, and it's used for the hash data structure. So three things where hash is or dictionary is used. W linked list, there's nothing really great about it. This is the textbook implementation of W linked list. And if you look at the source code, it's really very simple to implement implementation. W linked lists are used for the list data type, right? The only important thing that I want to remember is that to store one element, so let's say your data is in your node, right? To store one integer, you're also maintaining two pointers, a previous and a next pointer. If you're storing a list of just say integers, the overhead for a W linked list is too high, because you're storing an integer of 8 bytes and you also have two pointers. So essentially you've used three times the memory that you would otherwise have, right? So the reason I'm bringing this up is that you just keep keep track of how many pointers that data structure has because that pointers are what is costing memory. This is a slightly more advanced data structure that Redis uses. It's called skip list. And the way I like to think about it is that you think of it as a railway tracks, right? Or railway lines. So you've got these major stations and you've got these intermediate stations. If you want to go from one station to another, what you would do is you would typically take a fast train and go to your closest major station. And then from there go to the slower track. Right? So sort of the same metaphor. So, you know, you've got these direct lines to these intermediate nodes. So for example, four is like a major station in that sense. And six is like a major station. So if you want to go from one to five, right? I mean, you want to search the element five, right? In your in your list, right? So the way you would do is you know that five is this is going to be sorted always. So because you want to search the element five, what you do is you go to the station, which is sort of or you go to the node, which is closest to five, right? And so you would go to four and then from there. So the way you go is from one, you can directly jump to four. So you don't have to. If this was a link list, you have to go through each node one at a time, right? But because you've got direct node connections to, you know, a more intermediate level, right? You can sort of jump. So probabilistically speaking, you still have like a log n retrieval time for any node. Yes, the nodes, the elements. So this is this is the basis for your sorted set, right? So for your sorted set, your elements are sorted in memory, right? So these are your nodes, the ones in yellow. These are the nodes, your data nodes. They're sorted. And now that you want to find out a node in the middle, right? The only way to go through this, I mean, assume that you don't have these things, right? All of these ones on the top, you don't have them, right? So then it just becomes a single list, right? And if you want to find out the data corresponding to the node number 7, you have to start from 1, 2, 3, 4, 5, 6, 7. Correct? There's no other way. But then what you do is if you maintain shortcuts, these are shortcut pointers to some intermediate nodes, right? And because you're having these shortcut pointers, now you can find out a value of a node in a much more efficient manner. Make sense? So you've got these, you've got these nodes, which when you start from here, right? You sort of, sorry, I missed your question again. So, right? So the way you do is basically you start at, when you're trying to find out ringer, you try to find out at the highest one, and then you go and then you see if it is, if that value is, for example, is lesser, the value that you're searching is lesser than that. So you go one level lower, and then you will search from there. So you could either start from the lowest level, I mean basically you start from the highest level, right?  Correct? Yes? Yes. So what it does is it uses, the way this tree is maintained is that it sort of uses probabilistically not every time it will be there. So yes, there are some overheads to just maintaining this structure. Yes? Correct. Yes. Yes. This is sort of in contrast to a hash map. I mean another way to build, if you want to find out by key, you want to find out the value, the other structure would be hash map. But the advantage of a skip list over hash map is that your elements are now sorted. And so, I mean we took the use case of finding one element. But let's say that I want to find out a range of elements, which is what your sorted set also lets you do. Let's say that I want to find out all elements from 2 to 7. Right? So this is much more efficient over here because it's, you start at this point and you just get all the nodes sequentially. Right? So this structure is sort of useful as compared to a hash map in that sense. Right? This is the underlying structure used for sorted set. And if you look at it, there's a whole bunch of pointers going around over here. So as you can imagine, this is going to be an expensive data structure to maintain just because you've got a lot of overheads in maintaining the number of pointers. Right? So from a memory perspective, this is, this is all of, you know, too expensive. Can I just move on? Any questions on this? Yes. That is, that is intentional. So every, it sort of uses a probabilistic way of finding out how many levels a particular thing can have. Like you don't, I mean, if you talk about, I mean, the, the railway metaphor sort of breaks because you cannot decide beforehand which is a major station versus not a major station. So you sort of use probability to decide which nodes should have more levels versus shouldn't have. Moving on. So now there are, so at some point of time, Salvatore and United as sort of decided that he wanted to have more memory efficient data structures. Right? And so he came up with a few other data structures. Zip list is one of such data structure. So zip list is, think of it as like a doubly linked list, but except it does not use pointers. It's just compressed all of those linked list elements into one flat array. Right? So you've got these, everything is sort of stored in one array. And as a result, you don't have, you don't have a lot of wastage in terms of the pointers that you would otherwise have in a doubly linked list. Zip lists internally are used for smaller lists, smaller hashes and smaller sorted sets. So if you've got, if you say you've got only 50 elements in a set or sorry, in a hash map or something, right? Then internally Redis would use this data structure and because it is using this data structure, the memory utilization will be lower. Right? There's a drawback as well because it is, everything is in an array. It's not as efficient as compared to the previous data structures. So there is a cost benefit and trade off over here. If you use this data structure, you are consuming less memory, but the CPU, you're wanting more CPU cycles. So at some point of time, at some number of elements, it becomes more practical to use the traditional conventional data structures, but if it is a lower number of elements, then you would rather use zip lists. There is, there is something under your control. There are some parameters which are under your control, which I will just talk about in a moment. But the idea is that, you know, if you want to, I mean, Redis makes some default settings, right? As a developer, you may decide that my application, I'm okay to, I mean, I want to use lesser memory and I can afford to burn CPU cycles. You have that sort of situation you could tweak it accordingly. So Redis goes with some default. If you know your application and you know your data, you can tweak those parameters according to your needs, right? Okay, the other data set is integer sets. And you know, it's just a fancy word for a sorted integer array, right? So if you, I mean, if you're storing set, set of numbers, right? A set of numbers just basically means that there are no duplicates. The traditional way of implementing a set is to build a, is user hash table, right? And then basically a hash table will automatically guarantee that there are no duplicates, but this is an alternate mechanism. So if you are under a special scenario, which is if you are using a set and that set is only containing numbers, then Redis can sort of use a sorted array. And so the way a sorted array would work is basically, if you want to find out if a, if you want to check the existence of an element, you would do a binary search. So let's say that you want to find out if 115 exists, you will sort of start at the middle and then if it is, you know, you do a sort of binary search, right? And if it exists, then you will know. So that's how the set works, right? The integer set works. The big advantage is that this is really, really efficient memory-wise, right?  Like if your numbers are 16-bit numbers, then it is a 16-bit character array, 16-bit integer array. But if it is, you know, only 8-bit, then it will use a character array.  So it sort of optimizes on the size of your integers as well. And so from a memory efficiency perspective, this is super efficient. The drawbacks, it can only be used for integers. So if you want a set of say strings, you cannot use integer sets or Redis cannot use integer sets, right? The other thing is if you look at the documentation for a set, checking the existence of a member is order one, right? In a set, the checking the existence of a member is order one. But in this, if you look at it, to check the existence of a number, the time complexity is going to be log n because you are doing sort of a binary search, right? So the idea is that if it is a small enough set, it is not that many operations, it is still considered as order one. But if it goes beyond the protein limit, this no longer becomes efficient, right? So again, as I said, there is a trade-off here. If it is a smaller set, you would rather use integer sets or if you are concerned about memory, you would use this. But for larger sets, you would just use to stick to the hash table implementation, right? And Redis does this automatically. But, you know, we will see how we can use that to our advantage to reduce memory. Any questions on this? This has no relation to skip list now. For this, why is this sorted? Is your question? You know, it is sorted because you want to... I mean, if it is not sorted to find out the existence of a member would be order n. So if you maintain it sorted, it sort of... No, no, no. But this is not a sorted set. This implementation is used only for the set data set, yes. Because sorted set also has associated value of a score, right? Which is not over here, not present over here, okay? So a quick summary of what we just covered, right? So on the left are the logical data structures which you would see listed on Redis.io, right? So string hash set, sorted set and list. These are your data structures. Now internally, how are they stored, right? So string is stored as a string, just slash 0 terminated string. A hash can either be a hash table or it can be a zip list, right? Which one is used depends on the size of the hash, depends on your settings in your Redis file, configuration file. Similarly, with a set, it could use a hash table implementation or it could use an integer set. Now the constraints for... When does it use an integer set? If the set is only containing integers and numbers, then it could start using an integer set. Otherwise it would just take the hash table, right? And of course the ones on your right hand side are more memory efficient. The ones on your left are sort of, you know, they take more memory, but they are general purpose data structures, okay? A sorted set, that is like the, you know, that is the most memory hungry data structure that you would find in Redis. A sorted set needs two data structures, a hash table and a skip list, right? So it needs the hash table to maintain the scores and the skip list. So the combination of the hash table and the skip list together makes a sorted set, right? So as you can imagine, sorted set because it is using a hash table and a skip list and because the skip list has so many pointers in it, it consumes the most memory, right? If the sorted set is sufficiently small, it can be compacted into a zip list and stored accordingly, right? And finally list, list is again would be a doubly linked list in the general case, but under special circumstances it could use a zip list, right? So this is basically the, you know, quick summary of all the internal data structures Redis has. We come back to this in trying to figure out how can we use this to our advantage to use less memory? Yeah, there are some settings which I will just speak about. Yes, it will automatically convert it into a hash table. Yes, it will, yes. Yes, so that is a great question. Internally Redis will keep on toggling between one data structure and another.  And you start adding elements. At some point of time it will go beyond your defaults, right? It will go, it will become big enough list that you cannot store it in a zip list.  Sorry, there will be some cost to it. Yes, there is going to be some cost to it. Yes, there are some settings in which you can say that, so that is global setting. You cannot influence it at a key-based level. You cannot. So it is a global setting. Okay, so now we are just trying to look at what can we do to reduce our memory consumption, right? So the first thing is avoid small strings or basically avoid, there is a string data type, right? In which the key is a string and the value is also a string, right? And that consumes a lot of memory. The reason it consumes a lot of memory is that even though you have strings, the strings themselves need to be a part of your dictionary, your global dictionary. And so they're going to consume memory, right? And so one of the one of the basic tips is to split it up into smaller dictionaries, right? So let's I mean this example. I mean, I'm not sure if you could see it all, but what it's trying to do is it's trying to store user names and some current data responding to those user names, right? So what you could do is you could split up the key in a first portion of the key into your top level keys. And then these are your dictionaries. These are your hashes, right? So you've taken AR and then you said, okay, everything starting with AR, all users starting with AR will now, I will now store their data in a smaller dictionary, in a separate dictionary, right? I mean, this is just an example I came up with, but just going back to the earlier presentation where I think they were storing rate limiting, right?  So you could very well have your namespace as your first key. And then your secondary hash table could then just be a smaller set of values inside that, right? It does not. You have to do this on your own. So the way you have to manipulate this data is you let's say that I mean as far as you are concerned, you're just trying to store Arpit with user data, Arjun with user data, right? As far as you are concerned, but now what you would have to do is in your application logic, you would have to split up the string into two portions and you would say, okay, I'll split it up into two portions that whatever that is, that is application specific. The first portion becomes the key for a hash table, right? And the second portion becomes in this hash table, it becomes another key.  You've got a top-level key and then inside that hash, you could have another key, right? And this turns to be super efficient memory-wise. Another thing is because this hash table or this hash itself is small enough, Redis could very well compress this and store it in a ziplist. It doesn't have to make another hash table for this. It could just make it a ziplist, right? There are some drawbacks of this one is of course complicated logic on your, I mean, slightly more complicated logic on your application side. The other side is the example, I mean, if you have a top-level keys, you can have an expires like, you know, like they wanted. You know, their use case was they wanted to have expires on top-level keys. Over here, you cannot expire on this, on the key called up with right now in this way, right? But it still has advantages. Like, I mean, if I just go back to the example that was discussed earlier, where you wanted to have rate limiting on keys, what you could do is you could group your keys into buckets which expire together or into keys which expire together. So, for example, you know that a lot of keys are going to expire at the end of the hour, right? So, if you ensure that all of them fall in the same hash table or, you know, same internal data structure, hash table, right? You could then set an expire on that key. So, all your rate limiting that expires at the end of the hour will expire together, right? So, you could use that to your advantage. You don't necessarily have, you don't necessarily need expires at individual key. You can sort of use expires at a, you know, at a grouping, right? Any questions on this? Can I just move on to the next? Yeah, I mean, in this case, we just considering string, right? This is a hash table on the other side. So, this would be some string. Yeah, no. No, so Redis does not have a, I mean, I'm not sure Redis, I mean, Mcast has a limitation of 1 MB, but Redis does not have Redis. The string itself has a limitation of, I don't know, some, it's a big number. It's not, it's nowhere close to that 4 MB, 5 MB. It's pretty big. I think 2 raised to 32 is the size of a string and that is the maximum size of a string that you can store, which is, yeah, I mean, maybe, okay? Yeah, the other is maximize the usage of Zip List, right? So, if this goes back to this thing, right? To save memory, you need to get, you need to force Redis to start using Zip List. So, the two parameters that you can configure in your configuration, one is list max Zip List entries. And what that says is, what is the size after which, you know, Redis should start using, I mean, so let's say that this value is set to 500 or 512, right? So, which means that Redis will use the Zip List for any data structure which has got 512 elements. If it is used, if the number of elements in your list goes beyond 512, then it will convert it into a doubly linked list, right? And the other setting is what should, what is the maximum size of a value? Like for example, if you've got a value of that object itself is like storing a 2 MB string, right? Then it may not be efficient to use a Zip List. So, those are the two things. What is, what is the size or length of your list? And what is the maximum value of a particular element, right? So, you could use these two to your advantage, right? Now, Redis ships with some defaults, right? Which work for a large number of use cases.  So, what you could do is you could just, depending on how many elements you expect a list would contain, you could tweak the setting accordingly. So, you know, if you know that you're only going to store 600 or 700 lists, elements in a list, you could just bump it up a little higher and then it will start using your, you know, Zip List data structure, right? So, these are the two things which, what you could do is, you know, from your production, you could just take a dump of your data and analyze it and find out on an average how many elements are you storing in a list, right? So, you should look at your data, find out how many elements you are storing in your list and then see if it is worthwhile to change the setting accordingly. You know, do you want to move it up or do you want to move it down in however that works? So, Redis ships, I think it's 512, I'm not wrong. It ships with certain defaults, right? But then what is the right value depends on your application and what trade-offs you are willing to make, right? I mean, of course, beyond a certain, if you just make it 1 million, you're losing all the advantages of Redis because then your operation is not going to be as fast, but there's some amount of leeway that you have depending on your application. A third thing is to use integer IDs, right? So, let's say that you've got users or any objects that you're storing, right? If you use integers as your identifiers, it has some advantages. Generally, Redis uses lesser memory for IDs, right? Especially if you're storing these IDs into a set or if you're storing these IDs in a list, then Redis would optimize the way it is stored. So, let's say, I mean, if you've got primary keys, right? You typically store your primary keys into some collection, right? Like a list or a set. So, if you're using integers, it will use lesser memory. This is sort of obvious. If you can try to avoid sorted sets, if there is a way in which you can use a dictionary and get around with it or just a set, you know, that would be helpful. You would save a lot of memory just by avoiding sorted sets, right? You could also, I mean, sorted sets also go and use a zip list if it is reasonably sized. So, you know, you could also find out what is the maximum size you expect for your sorted set and accordingly change your configuration so that you force a zip list. Yeah, this is sort of a hack. And, you know, if you're really pressed for memory, this is another thing that you could do. So, let's say that you're storing user objects in a dictionary, right? You've got one million user objects that you're storing, maybe as a cache, right?  These keys are going to be repeated every time you're storing it in a dictionary, right?  No, so Redis doesn't do that, right? But if you know that your objects are similar, you know, and what you could do is if you guys are familiar from the Python world, Python has got something called as named tuple, right? So, this is sort of that same idea where, you know, you're just taking an object and just storing it as a list, as a sequence of elements, right? And then you're using a list, right? So, when you do that, you end up saving a lot of memory, right? I mean, especially if you know that your objects are homogeneous and you're storing a lot of them, you could make sense to use this.  So, you need to abstract that piece of code and, you know, make sure that it is separate and, you know, it's well-contained, right? You sort of need an abstraction layer about this, right? But this ends up saving you a lot of memory. You know, sorry, okay, yes. No, I mean, it doesn't really matter. I mean, if you, so for example, you're storing user IDs and along with that, you want to store a user object. That's what this use case is. So, let's say that you've got 10 million users, right? And you've got a user ID and corresponding to that user ID, you've got a user object. The traditional way to do it is the key is your user ID and your value is a hash table. The hash table internally, hash map or dictionary, whatever you call it. And that internally has your keys as first name, last name, age, something, you know, like that. No, why not? So, if you know, if you do not, right? Because list also, it is now positional. So, if you want to update my last name, you know that I have to go and update the list at that particular index. Yes, I mean, yes, you're right. You cannot do, I mean, it's not, the right is not going to be as efficient as this, yes. I'm saying you're right, yes. It makes sense for a read intensive case, which I mean, if you're using, I mean, I don't, I mean, the sort of applications we tend to read is this, but if your application is different where, you know, you're trying to have a lot of rights. Actually, I mean, let me just make even a more general statement. If your application is right heavy, then you'd rather not do any of these, you know, these sort of things, right? Because by using a hash map, you're guaranteed to have a great performance, right? For example, if you're using a ziplist and you are very right heavy, even the ziplist, even without you maintaining it, the ziplist is going to be a little bit more expensive in terms of right, or, you know, because, so if you know you're right heavy, then you perhaps don't want to use this one, yes. I mean, I was talking mostly about the use case, where you're using this, I mean, this case you're using it as a cache, but yeah, so maybe then this one would not make sense, but you could still, you could still ensure that you are respecting the size of a ziplist so that you can save memory over there. So there are things you could do, but I would say not this one, where you're compressing and serializing everything in a list. Yeah, the other one is, you know, Redis has these actually just a month back on 1st of April actually. Redis introduced this new object called as Hyperlog log, which is a new data type or a new command. And so if you're counting objects, that is a good data set. So they fall under this category of probabilistic data structures, and I think the next talk is also going to, I don't know who's, but someone's going to talk about bloom filters in the next talk. And so both of them are probabilistic data structures in the sense that they are not accurate, but if you use Redis and use one of these data structures, it would help you to save a lot of memory where they are really memory efficient, but their trading off, the trade off is really is that they're not 100% accurate. So there's some percentage of accuracy, like some 90s accuracy. So if you're counting millions of objects, or you're doing some analytics, you don't really care about the exact count, but you're just looking at a, if it's 99% accurate, then I'm good enough. I'm good. So in those use cases, you could use these probabilistic data structures. So Hyperlog log is a new data structure and a new set of commands that were introduced very recently. Bloom filters, there's no data type specific to bloom filters, but bloom filters can be implemented in Redis over the string data structure. And so you could use bloom filters to save a lot of memory and to check the existence of an object. So beyond this, yeah, so beyond these six things that I have listed, there's also a few that Redis.io has a section where it says memory optimization. One of the other things that it recommends, which I have not put up here, is to use 32-bit version of Redis instead of the 64-bit version. The reason that saves a lot of memory is because a lot of these data structures are pointers, have a lot of pointers. And pointers, if you're using a 64-bit architecture, would be 8 bytes. Whereas if you use the same in 32, it's just 4 bytes. So you drastically save a lot of, in terms of memory, just by moving to a 32-bit architecture. So that is another thing. Like if you've got, if your system has, you know, you've got a lot of machines which you can afford to use a 32-bit, you could use that to save memory. Yes, you limit it. That's on the other side. Yes. I mean, it's a trade-off that you have to do. So I mean, the point I was trying to say is that if you've got a lot of machines which lesser RAM and your application can scale out, then using 32-bit is also an option. I mean, most of the times we do not, I mean, at least I have not cared about and I just use a 64-bit, but it could work. Yeah. Sorry. No. No, you're only restricted to, I mean, on the 32-bit architecture, you're only restricted to that much. Actually, I'm not sure. I shouldn't say. No, no, no. His question was more specific. Can I run multiple 32-bit instance machines in order to get around the fact of I can only use 4GP of RAM? So I do not think that is the answer, I'm not so sure. No, no, you definitely can run multiple instances on the same server. Will you be able to evade the 4GP limitation? I'm almost certain that you cannot, but I'll not say. Anyways, so this was the second section where I'm just listing down some of the tips that can save memory. Third thing is, you know, so let's say that you're already messed up where you have, you've got some data and it's using a lot of memory. You don't know which key or what piece of your application is using that memory, right? So there's this tool. What it does is it takes the DOM file, the RDB file that you have on your Redis server and it can analyze that and it can find out what is the size of every key and it will give you some statistics.  You pass it to your DOM file and then you redirect the output to a CSV file and this CSV file will contain one row for every key in your database and it will give you some statistics, like what is the memory, if it is a list, what is the number of elements in that list, you know, if it is dictionary, how many keys does that dictionary have, how many elements does it have and this output is super useful for you to A, find out which key is hogging most of my memory. So a lot of times what happens is you wanted some, you wanted to delete a key, but you did not or there's a bug in your application in which you did not delete a key. You wanted to set an expires and that expires was not set or maybe a set is growing unbounded, you know, you were supposed to trim the set but you did not. This will help you in that, you know, what it will tell you is that, you know, what I expected the size of this to be 100, but it is actually thousands and then you can go and find out. It's a great tool in finding out where the bottlenecks is, which key is using the most of your memory. So it's pretty useful. You should try that out. Yeah, that's it from me. Here's a quick bio and I'm open to questions if you have any I could just take them. So Redis does not have a background thread or sort of thing which goes and bleeds keys. What it does is it spares, it's got, it's a single threaded application. So what it does is it spares some number of CPU cycles to go and clean up memory once in every number of time interval, right? So the other thing, so it's not as aggressive in, as say memcast in going in reclaiming memory. Does that answer your question or did I get that wrong? No, I'm sorry, I'm not following your question. So Redis is not persistent in the sense that if it goes out of memory, it is there in the disk and so if there's a cache message, no, it's not like that. Redis, think of Redis as just a pure memory store. It's not like if a key expires, if a key expires it's gone. Just like memcast, it's not like a key is expired and it goes out of memory and is stable in the disk and when next time somebody asks it to load it from the disk, it doesn't work like that. So it is an in-memory data store whatever is stored in the disk is think of it as like a pack up or think of it as like if the server restarts, how do I get it back? But it's not like, you know, it was implemented in an earlier version of Redis, but it is no longer maintained. It does not have the option of taking memory keys which have expired and store it on the disk. It does not have that. Oh yeah, actually, I mean, so this does exactly that. This is what it does is it looks into the Redis dump file and it sort of reverse engineers into the the way Redis stores its data structures and on that basis it will come up with a number which is very close to the actual number that you would see. So I mean, if you take your dump file and run this, you will be at least in the 90% ballpark. Anything else? Alright, thanks guys.


Hi friends, we are going to see December Manthiyojna, the title Atman Irbar Bharat. So in that we are going to see three articles. One is GI Tagging of Rural Products page number 7 and Hargarh Jal page number 23 and Reviving MSME page number 41. So these are three articles we are going to see in today's video. So we go for the first article, GI Tagging of Rural Products. So we will classify paragraph 1, paragraph 2 and paragraph 3. So in paragraph 1, so what the article says is the present international framework on geographical indication derives strength from article 22 of trips that is trade related aspects of intellectual property rights. So GI tagging has its origination based on article 22 of trips. So what we can understand from this is after we came into the process of globalization and globalization becomes a dominant factor in the world. So that comes in necessity to protect products based on geographical indication. So this we can relate with the main point. So any question regarding globalization and how it impacts our local economy or countries economy. So to give an advantage for local products, we have a global agreement based on trips which creates the concept of geographical indication. And we still need to see what is geographical indication means. This we need to clearly understand. It's an outcome of globalization, geographical indication is the outcome of globalization. So what is GI? They have given geographical indication, indication which identify a goods as originating a territory of a member or a region or locality in that territory where a given quality reputation or the characters of the good is essentially attribute of geographical origin. So what is geographical indication is it's regarding the members of trips originating in a territory or region. So there should be some geographical identity for this. So that product should originate from certain regions of the members or some territory of the members with with certain characters like quality, quality, reputation, quality reputation and other characters, they have given other characters other than characters as attribute all these are because of attribute of that specific geographical origin. So the products should have the certain quality and reputation and how this comes is based on the geographical origin, the place where it gets its uniqueness. That's a geographical indication and please understand this especially for products. The geographical indication is given only for products not for services that you need to keep in mind and that's paragraph one. So paragraph one says what are the reason for creating geographical indication and what is geographical indication means and the reason for creating geographical indication we can relate with globalization outcome and what is geographical indication it's a product with the quality of reputation that quality and reputation is essentially based on the place of origin. So right now in India we have a lot of products coming at a GI tag. So a good example of this for example Odisha's Rasgulla or Kanjiburam's Silk of Tamil Nadu. So every state has certain products and the GI tags right from Jammu and Kashmir to Tamil Nadu. So that can be your plumes questions based on that year which got GI tag which comes in newspaper you need to understand the characteristic of that products so that can also be a plumes question. Then paragraph two says what is GI tag and what is not the thing you can claim under GI tag. So GI tag is not a property right given to a individual. So GI tag is given to a region for its products it's not given to an individual. It's an attribute of goods or services given services not specific to a region which allows every produce in specific region to use the GI tag as long as the quality of GI goods is similar to the specific qualities of identify product of said region. So in paragraph two what are the things you cannot claim under GI tag. GI tag is not a individual property right. So it's not an individual property right it's given for the collective region and you can claim the GI tag when you match with the quality or reputation which you claim to get the GI tag. So assume that if you are going for Odisha Rasgulla so there are certain process being followed certain raw materials are being used correct. So if you are able to do the same thing then you can claim the GI tag. It's not that all Rasgulla of Odisha can come under the category it's based on the process and all those qualities which you match it then you can have the GI tag. So that's the point they say and also the most important thing is it's not an individual property rights it's given for the region. Then they next have given in paragraph two next they also given about so given about globally what is the number of GI is being given so GI is given mostly for Germany. So if you take Germany they have around 14 to 89 products under GI tag. Next come China, Hungary. So China have 7,834. In this we can say about India US and India as they have given. So India has 361. So in India only 361 products come under GI tag. And please understand India's oldest civilization and lot of things in India especially in the concept of products we are doing for thousands of years. And this clearly shows that there's a great potential for India to go for this GI tag. So first we need to understand the origin of the products and that has a huge benefit for getting this GI tag. Once you have a GI tag it's a greater possibility for commercialization of that product and having a global reach. Okay that's the thing we need to understand here when compared with Germany we can see that how much scope we got in India. Next thing is right now which are the products in paragraph three you can see that which are the products in global level we have greater GI tag mostly the 56 percentage is based on wines, so based on wines and spirits, wines and spirits 56 percentage. Next thing is followed by agriculture commodities that is 34 percentage is agriculture commodities, agri products and 3 percentage is for handicrafts. So this clearly shows that right now in global level we know Germany has a dominant in GI tags thing and European culture where they have this concept of wine and dyeing and all those things. So ultimately that have a huge concentration just an understanding of it and agriculture contribute 33, 34 percentage. So our India is the strongest country and we are doing it for thousands of years there is a potential for that to catch up. So next thing is handicrafts, so these 34 percentage 3 percentage if India's contribution increases probably in global level GI tags proportion can change. So that is in the first page of GI tagging. So next we go for the next page of GI tagging page number 8 in Ujjna, so paragraph 1, so paragraph 2, 3, 4 and 5. So in this when you go for paragraph 1, so these are some factual information about GI tagging in India. So Darjeeling tea in 2004, so Darjeeling tea got the first GI tag in India and it has a different variant in that, so black, green and white tea, so all got GI tags. So that is one factual information. Next thing is regarding paragraph 2, state specific they were given. So Karnataka, so got around 47 products and Tamil Nadu got around 39 products. So we can see that GI tagging in India has been concentrated in South India where there is a greatest scope for North India and especially if we go for Northeastern states. So this can also be a driver of the economy, so we will see that some other points based on it. So that is in paragraph, these are factual information while writing answers you can use it or this can also be a problems question especially Darjeeling tea. Next thing is paragraph 3. So what the article says is registration of goods under GI tag does not give any benefits for the particular product. So until there is some enforcement mechanism, so to make GI tag successful. First one is registration, so you want to register with the government that it has a unique mechanism or unique product and which government will cross check it and if they are able to understand the intensity of that product, they give the GI tags as a process for all those things and that comes under registration. And apart from registration, next most important thing is enforced mechanism. So once we get the GI tag, the real products need to get that tag so that it can be getting a premium in the market. And apart from this traceability and the next most important thing is traceability. So that should be some traceability mechanism for the product. So mostly this products are indigenously made by a few families or concentrated by few families or they do not have proper formal mechanisms. So that comes a question of the genuity of the product. So government should be keen on creating this traceability mechanism. So right from the origin to the end, how this products travel and if a consumer buys the product, he need to know that he is buying the genuine GI products, geologically indicated products. So that comes the concept of traceability. Right now in India, they have created a lot of initiative for that. For example, Hortenet, so there is a traceability for horticulture products, Basmati Net and Meat Net, all are created by Ministry of Agriculture and Apeeda. Apeeda means agriculture and process food products export development authority. So government is moving the right direction. So that is both paragraph 3 and paragraph 4. So this is more related about traceability. Next thing is paragraph 5. So recently government want to give greater focus on GI products. So they have given tagline also. So GI products, they have given tagline. So it comes into the next page. So when you go for the next page, so given taglines for GI products. So if you go for this first one, so they have given tagline for GI products, invaluable treasures of incredible India. So that is a tagline. So invaluable treasures of, so invaluable treasures of incredible India. So I am just giving a short form. So invaluable treasures of incredible India. And even other ministries are being roped in, correct Ministry of Rideways and Ministry of Civil Aviation to display the GI tag products. So this helps in domestic consumption itself. So that is the thing what government is trying to do. So that is given in paragraph 1 and in paragraph 2. So regarding Indian foreign trade policy. So foreign trade policy for 5 years 2021 to 26. So we are in 2022. So where we want to achieve US dollar of 1 trillion in exports. So we want to achieve, this is the target given by the government under the trade policy. You want to achieve 1 trillion dollar exports by year of 2025. And what government feels is there is a greater potential of this GI tag products especially agriculture products. So GI tagged agriculture products. Agree products have greatest scope to achieve this objective. So government is very keen on it. So we know that we have a natural advantage in this areas. So we just need to identify the products and previously see what are the things registration and enforcement and traceability. If that is being properly done. So there is a greatest scope of reaching the trade policy target of 1 trillion exports by 2025. So they say GI is one such area. So it all comes under Atman Irbar Bharat. And in paragraph 3 and so they are also creating online platform for GI products. So GI products online platform. So online platform to market all those GI products that is being created by the government. So next thing is page number 10, paragraph 1 and paragraph 2. So in paragraph 1, so to promote this GI products, government is focusing on cluster approach. So cluster approach is based on this one district, one product. So right now we can see our prime minister speaking about this in Manki bath where each district need to identify one product and they need to focus on that product which has a greatest scope for export. So one district, one product is similar to this idea of promoting this GI products only. So especially you can see that this is an idea already done by Japan under the name called one village, one product. So that is what India is trying to replicate as one district, one product. Where is in Thailand? Thailand it is called as one Thamban and one product. So this Thamban is nothing but sub-district. So what Thailand did is by studying Japan as one village, one product. So they try to have their own version of it and they focused on district level whereas India is focusing on, sub-district level sorry, Thailand is focusing on sub-district level where India is focusing on district level, one district, one product. So one district, one product again we can relate with GI. So government is keen on promoting this GI through this one district, one product. And also we can see that, so what are the measures need to be done for promoting GI? So GI promotion measures, so promotion measures. So which are those things are first one is creating infrastructures. So basic infrastructures need to be created. So such as custom clearances, so custom clearances. Then only we can export the products and laboratory test facilities. So laboratory test facilities need to be created and packing houses, packing houses and cooling facilities. So all this need to be done. Then only we can focus on GI products to be an export commodity. So these are all the suggestions given to the system, what need to be done. And finally last one is paragraph one, what it speaks is right now in India for GI products. So there are three products which has a greater mechanisms and process which is able to enjoy the benefits of globalization and reach global markets. So what are those three products? One is Basmati rice, Basmati rice of India right now which is being exported to across the world. And next thing is Nasik grapes. So Nasik grapes is another one and Darjeeling tea, so Darjeeling tea. So these are three products right now which is having the all necessary conditions to reach the global markets and government has also made all the necessary steps for it. So what they are saying is, especially the author is saying is based on this case study of Basmati Nasik and Darjeeling, so government can concentrate on other products. So by studying these three things they say that so value chains. So right now for this we have a global value chains for these things. So ultimately they are reaching to the global markets. So similar to that we can focus on other products. So that is a suggestion given in this particular paragraph. So this regarding GI tax. Next we go for Hargar Jal. So in this we go for paragraph one, so paragraph two and paragraph three. In paragraph one they say about the background of this Jal Jeevan mission. So Jal Jeevan mission came in India in the year of 2019. So came in the year of 2019 and especially this is focusing on, so this is regarding water, especially drinking water and the primary focus of this Jal Jeevan mission is to improve quality of life, improving quality of life and also public health. So this is the primary focus of this Jal Jeevan mission. So that is being implemented in partnership with state government, implemented in partnership with state government and so target year for this is 2024. So the target year is 2024 for this particular mission and what the target they are saying is first and foremost thing is portable tap water supply, so portable tap water supply and prescribed quality and quantity. So they have quantity aspect that is 55, sorry 55 liters per day and quality is regarding best of 10, 500, just we need to check this. So this is the promise made by the government to under this Jal Jeevan mission to provide drinking water and especially with the time frame of 2024 and with this quality and quantity. And please understand when you take this portable tap water supply, this has another important feature and we take this Jal Jeevan mission especially if you think from rural perspective and we know that in our, in any rural family women is responsible for water and they need to spend lot of time to focus on collecting drinking water. So they need to walk for kilometers to fetch the drinking water and if government is able to achieve this by 2024 and reaching all the rural areas especially rural families by this particular scheme. So there is a greater empowerment of women especially women does not need to spend their time on walking to collect the waters because water will reach to them. So this is another point of empowerment by this particular mission because women is most responsible for drinking water in any rural family especially from rural perspective. Next thing is paragraph 2 regarding this particular mission. So Gram Panchayat and especially this village water and sanitation committee. So village water and sanitation committee or Pani Samiti. So Pani Samiti. So they are responsible for planning, implement, so planning, sorry planning, implementation. So planning, implementation to manage, operate and maintain. So you can see the holistic aspect of water management, drinking water management is in the hands of Gram Panchayat especially this Pani Samiti or village water and sanitation committee. So here we can see that there is a greater empowerment of people. So they are taking the leadership role for drinking water in rural areas. That is given in paragraph 2 and in paragraph 3. So that Jaljeevan mission is highly integrated with 73rd amendment act. That is nothing but a Panchayat system and it is a Jaljeevan mission is entirely focused on decentralized, so decentralized, okay sorry, so decentralized demand driven. So demand driven and community managed, community managed, community managed water supply program. Water supply program. And please understand these are the key words right now in our development process. Decentralized demand driven and community managed. Here all we can relate with this, this one, the previous point, village water and sanitation committee or Pani Samiti, we can see that they are responsible for planning, implementation, packaging, operating and maintaining. All we can relate with decentralization. Demand driven.  Ultimately all these are managed by the people themselves. So this is the most important thing where right now we can see that if you want to put in one term we call it as inclusive growth. Right now Jaljeevan mission is one such example of inclusive growth. This next thing is paragraph one, two and paragraph three. So in this paragraph one, so it also includes, implements water source, argumentation, strengthening water conservation, greywater treatment and reuse age of treated greywaters. For this purpose programs for capacity building of members as Gram Panchayat or village water and sanitation committee are organized so that it can work as a local water utility for a shoot service delivery on long term and regular basis. So what we can understand this is, so they are going for capacity building, so capacity building of Panchayat, that is village Panchayat and a Gram Panchayat and village water and sanitation committee and especially for water source augmentation. They want to identify what are local water sources that can be translated into drinking water purpose and also strengthening water conservation measures so that it can helps in regenerating groundwater level and apart from this greywater treatment, greywater treatment is nothing but reusable waters. So we can see that we are using water for domestic purpose and any industrial purpose. I am saying what is greywater means that can be recycled that is called greywater. So all these are being taken into consideration under Jaljeevan mission and where for that capacity building is done for Gram Panchayat or village water and sanitation committee members. So ultimately what are purpose is, it should be more sustainable program where people have the corresponding knowledge especially for running this program. So that is the focus of this paragraph one and again in paragraph one out of six lakh revenue villages, so right now we have seen that Pani Semti has been created approximately around four lakh villages. So here we can clearly understand that there is a greater demand for drinking water in rural areas. So that is the reason you can see that a lot of villages are coming forward to create these committees. So around six lakh villages, around six lakh revenue villages, so three lakh villages has created this village water and sanitation committee. This clearly shows the success of this program where 3.9 very precise, so 3.9 or four lakh villages. This clearly shows the success of this program how villages are very keen for this program and we saw in the previous pages demand driven. So here we can see that there is a greater demand for this particular program. Next thing is paragraph two. So in paragraph two, so villages where ground water, ground or surface water of good qualities available is sufficient in sufficient quantity. Single village scheme are planned and executed for the most preferred option. So this is one another character of this particular scheme. So what we call it as single village scheme. So a single village scheme, what a single village scheme is if that village is self-sufficient with the water especially with the quality of drinking water and sustainability of that particular water source for long duration as a drinking water, it all comes under single village scheme. So that is one important character that is given in paragraph two. Next thing is paragraph three regarding sansat, adash, gram, yogina. So this is majorly focused on SC and ST majorities villages. This scheme is entirely focused on SC and ST majorities villages and what they found out is the most important fact which we need to focus on this particular information is we can go for this aspirational districts. So aspirational districts are nothing but the name given by the government for less developed districts. So they doesn't want to call them as underdeveloped. So they want to give some positive connotation for that. So they have given this aspirational district as a tag. So before this Jaljevan mission, so only 7% got drinking water. So before this Jaljevan mission came into picture, right now that has increased to 37%. So right now in aspirational district drinking water is the key criteria for development because in multi-dimensional poverty. So one important indication of poverty is health which is also a determinant based on water. So we can see that under aspirational district after this Jaljevan mission, we can see that drinking water is taken to the percentage of 37. That is one important indicator and next thing is regarding health. So villages where we have this Japanese encipalitis affected districts, mostly it is concentrated in North India especially Bihar, UP and all and where before the scheme only 2% of villages got this drinking water facility. Now that is increased to 38%. So this is all based on this particular scheme Sunset Aadash Grams Yojana. And also the most important thing is it also promotes the rural economy that is given in the paragraph 3. So we can see that so village water and sanitation committee prepares 5-year village action plan. So 5-year village action plan for water and sanitation this gives a sustainability grey water management and water conservation works. So ultimately we can see that this committee village water and sanitation committee want to create a 5-year plan. So there is a time horizon of 5-year what need to be done in the village especially for drinking water and water conservation measures are taken for that and grey water treatment is taken for that. This all creates local economic opportunities. That is nothing but they are giving us boosting rural economy. And also we can see that in the 15th finance commission and the 15th finance commission 60% of the total grants, 60% of grants goes to local rural bodies. So when this plans are properly executed ultimately that drives the rural economy that is the point the article says. Next paragraph 1, 2, 3. So in this they also given some information regarding financial outlays under Jaljeven mission around 3 lakh crores, 3.6 lakh crores are being allocated for drinking water facility out of which 2 lakh crore will be from central government. So we already saw that it is a combined mission of union government and state government and very close to 4 lakh crores are committed for this Jaljeven mission until 2024 in that 2 lakh crore will be allocated by the central government. Next thing is next important in paragraph 2 is. So in this Gram Panchayat or Village Water and Sanitation Committee. So we have members, so members and what this particular scheme is doing is particular mission is doing is so they are going to provide skill training. So they are providing skill training under this particular mission. So what are the skill training is one is mason, plumber, fitter, fitter and electrician. So this is a skill training provided for this village water and sanitation committee members. So what we need to understand from this paragraph is right now this mission is also transforming the rural human resources. So we already have a program called skilled India which is being attached with this. We can see that people are trained on this particular areas because water drinking water requires all this skill set for the to be operated. So this being trained to the local people especially rural people automatically it creates skilled personals in rural and village level which creates the demand for their trade. So this we can see that what government is trying to link the scheme with other schemes of the government. So that is given that is capacity building of the rural areas and this ultimately results in emerging rural economy. So that is the point in paragraph 2 what we need to clearly understand here is how government is trying to create infrastructure, social infrastructure and physical infrastructure and under the concept of sustainability where they are skilling the rural people in this particular trades. So ultimately the program can also be sustained for longer durations and another thing it also creates opportunity for people to upgrade their skill set ultimately resulting in economic opportunities and standard of life. Next paragraph 3 so following this vision mandated minimum 50 percentage of village water and sanitation members would be women. Another most important criteria in this is in membership of this village water and sanitation committee 50 percentage should be women. Here you can say about this concept of gender based development or you can relate with how government is giving greater focus on disadvantage section of society correct because women are considered to be water managers women are considered to be water managers. What I said in the previous first page where women is responsible for drinking water in the family so they are called as water managers. So what this mission says is in any villages when you're creating this village water and sanitation committee 50 percentage should be a women member. Next paragraph 1 and paragraph 2 so in paragraph 1 so including rural women as part of this committee results in self-liance results in self-liance of the rural life and also one of the most important they found out is around 7 lakh women's under this program 7 lakh women's in the program is being trained for testing water quality so 7 lakh women's are trained in rural India for testing the water quality and they have good kids are being provided for this and it is said that 5 women cadders as a team in rural areas being created especially for ensuring water quality because drinking water also requires quality standards so that has a huge impact on human health so that role is given to women and we already know that in any rural families women is responsible for water and also women is responsible for the health of the family so ultimately women have a greater role in rural life so again women are included in this part this clearly shows that how government is very scientifically created this program or this particular mission understanding the cultural role of genders in our society so women are given the role of water managers in our family and health managers so based on that they are included in planning they're also responsible for monitoring this particular program okay and in paragraph 2 so they're also saying that in paragraph 2 how future generation is taken into the fold of this particular program and they say that around 79 percentage of schools in rural areas and 73 percentage of Anganwadi centers 70 79 percentage of schools especially rural schools and 73 percentage of Anganwadi Anganwadi or connected with tap water so connected with tap water so ultimately we can see that future generation has taken into consideration in this program so so that is the paragraph 2 next we go for this paragraph 3 paragraph 4 so paragraph 5 and paragraph 6 okay so in this paragraph 3 so why it's a focusing on drinking water in schools and all it's focusing on future generation so future generation well-being is taken into consideration that is the reason in school we have tap water so that is one so and also they said that around 1 lakh schools 1 lakh schools have so greywater treatment greywater use and also around 93,000 schools have rainwater harvesting so ultimately this focusing on future generation and water requirement and next most important character of this particular program is mission is transparency in accountability so under transparency in accountability that's a good governance values if you're running a country good governance demands that there should be transparency and responsibility for all the actions of the government so in this program how they are establishing that that is given in these paragraphs first and foremost thing is so they have created this online platform on which all the informations that's given there so online sharing of informations regarding this mission is being done and they also given the link there so which is not required for our preparation point of exam point of view so in that they have given the status of tap water supplies in whom schools Anganwadi centers all these informations are in public domain anyone can access so they have created this online platform for sharing that information so number of water taps and houses and schools all are being shared so it creates transparency and accountability that's given in paragraph three in paragraph four so they also created this Jaljeevan dashboard so again online mechanism so showing on ongoing sensor based IOT pilot projects so right now government is also including this IOT what is IOT means internet of things we can see that in advertisements and all to understand what is internet of things means so there's a major product you can ask them to switch on the season all those things correct so that's internet of things so right now government is trying to use that in this particular mission that the concept the concept of this internet of things are being used here especially for what aspect they are using is to check the status of daily water supply so daily water supply the next thing is in that daily water supply quality quantity daily quality and regularity so I'll just make click of a mouse you get all the informations correct in a village right now what time water goes and what are the quantity of the water what are the quality of water all based on IOT and sensors so sensors will be placed in that tab you can measure all these things and ultimately that comes under the dashboard which can be viewed by authorities so including this chlorination and water pressure in different phases per capita supply so ultimately you can get real-time informations regarding drinking water so that comes under the gelgeven mission dashboard we can say about this internet of things the next thing is paragraph 5 and also testing labs so testing labs is also being created and so right now in India there are around 2000 testing labs in various districts in India where you can take the waters and go and give for testing apart from rural areas women testing it also done in the scientific laboratories so that can be done and so that is to create the transparency so saying that water quality is being ensured and finally regarding this paragraph 6 so gelgeven mission financial financial datas it is also being shared in online so in public domain saying that what is the money being allocated and what are the funds being utilized and how many funds are being withdrawn what are the friends are available so all this information public domain this is a concept for transparency and accountability one is regarding the financial commitments of the government which is in public domain similarly regarding the program status so that is also in public domain and also authorities can also use internet of things to know the status of the program mission so all this comes under accountability and control so that is regarding gelgeven mission next we go for reviving MSME that is MSME stands for micro small and medium enterprise we'll see that so there are some datas given for this so paragraph 1 and paragraph 2 so in paragraph 1 regarding MSME so MSME there are important factual information which you can use it for introduction your answers so when they say about contribution for manufacturing MSME is manufacturing contribution so manufacturing contribution is around 35% H out of 100 components manufacturing India assume 100 components of manufacturing India 35 components comes from MSME sectors next thing is export export is around 48 percentage so they have greater export capabilities out of 100 things exported from India either can be product or services 48 comes from MSME so that is another important factual information and also MSME is contribution to GDP so GDP contribution of MSME is around 31% H so 31% H in that manufacturing sector contribute around 6% H remaining comes from service sector so 6% H is from manufacturing so this was a factual information which you can use it for your answer writing regarding MSME micro small and medium enterprises so what's the impact on Indian economy we can relate all these things okay and they have also given that right now we have on 33,000 registered MSMEs exporters in India and X comes what the definition for MSME so in paragraph 2 they have given some definition for MSME that is micro small and medium that is called MSME enterprises so investment plant machinery or equipment less than 1 crore rupees and revenue of less than 5 crore so when your investment is 1 crore and revenue 5 crore then you come under micro category and when you go for a small where it should be less than 10 crores so investment 10 crores and revenue 50 crores and medium where investment is no more than 50 crores and turnover is no more than 250 crores so investment 50 crores and revenue 250 crores this can be a potential plumes question so what is micro small and medium enterprises it's entirely based on investment and revenue generation don't get confused where UPSC can play with you how they can play with you is they can take this term revenue and put as profit it's wrong profit is different from revenue so keep that in mind so these are some of the factual information of what is micro small and medium enterprise and the definition of the system or government okay and recently we can see that government is coming out this production linked incentive schemes again related with Atman Irbar Bharat so and this is also targeted on MSME so production linked incentives so they want to focus on manufacturing champions so manufacturing champions and also provide jobs provide jobs and ultimately why we need to focus on MSME we can go for paragraph one because they have a huge impact on Indian economy because they contribution of GDP and employment opportunities and so export capabilities all are there so production linked incentives right now government reduced especially doing this pandemic situation focusing on making our India a manufacturing hub so we have this tag called making India so making India to make India as a manufacturing hub so government is especially trying to utilize this pandemic situation because China is known for manufacturing lot of global players lot of global companies want to diversify their manufacturing up because they can't rely on one country for manufacturing so they're looking over the possibility and India is using that opportunity and their governments creating the schemes and in creating incentives for the manufacturers to focus on greater manufacturing so that is production link incentive so next is paragraph 2 3 and 4 and we have paragraph 5 so in paragraph 2 in production linked incentives so they have given a target of 500 US dollar of 500 billion in next five years to be reached under production capacity of India that is minimum output and also for that government has allocated around 1.7 lakh crore allocation financial allocation for the scheme so to incentivize manufacturing and especially the identified 13 industries for this so one of this that industries as electronic pharmaceutical telecom networking so one is electronic farmer telecom so these are first identified industries where a manufacturer in these areas if they are able to reach the targets and create the required job opportunities they are given incentives for this so and money allocated for in this budget is around 1.9 1.97 lakh crores correct so so that's the information which we need to focus on and also next one is regarding MSMEs so government is also focusing on startup India seed fund scheme start up India seed fund scheme so this please understand only startup can emerges micro small and medium enterprises so government is giving importance for this particular scheme so what is the outcome of the scheme is so government is giving grand up to 20 lakhs assume that you are starting a you are going for a startup so what government says under this particular scheme is they are going to give 20 lakhs for validation of proof of concept and if you have some idea and that idea seems to be commercially viable that is one and prototype development so prototype development so your idea is transformed into some products or what you call as iterations and product testing so for that they give government is 20 lakhs and next they give 50 lakhs once it is being done in this bracket of 20 lakhs all these things validation of proof of concept your idea is commercially viable and you come out with some product prototypes and product testing is being done and next government gives 50 lakhs for market entrance so market entrance so our next thing is commercialization commercialization of that particular product our next thing is going for loans and all to getting loans okay sealing up via convertible debentures loans and all those things so ultimately you can scale the particular idea into a business idea so that is the thing what on this scheme is going to create that is they give 20 lakhs and 50 lakhs 20 lakhs to convert your idea into commercially viable product and product is being tested prototyping is being done then if that is being successful then we go for the next one they have 50 lakhs okay now another most important thing is in this particular MSME is right now PSUs and all ministries PSUs ministries and we know that government is also one of the major consumers of products and services in the economy take example of railways or defense sectors every year they spend a lot of money to procure products and services for their particular departments and ministries so in that idea so they said that right now under procurement goal so procurement goal for PSUs and ministries in India 25 percentage should come from MSME so there's an internal target given for government companies and ministries if you are going to purchase anything out of 100 products you are purchasing or services you are purchasing 25 should be from MSME it's nothing but creating a opportunity for MSME sectors so they can also contribute for national development and government also hand holding this MSMEs by making a commitment that any procurement 25 percentage should be from MSMEs okay next thing is there's another one paragraph 5 this paragraph 4 regarding this 50,000 crore funds or funds funds or funds so there's another one created by the government for focusing on startup so they found out this micro small and medium enterprises are serious shortage of equity equity is nothing but financial might and this funds or funds will be set up for this and they said that the target of 10,000 crores and okay operated through mother fund and few daughter funds and funds structures will be help leverage 50,000 crore of funds at daughter funds level okay so they have given this concept of mother of funds so with this funds they are going to focus on developing MSMEs and they have a commitment around 50,000 crores under this funds so they can propel the startup environment in India so if you want to put all this funds characters and all if you check in your market terms like angel investors or so they all come under this venture capitalist all come under this categories so in market parlance these are the terms they use it angel investors or venture capitalist they are doing the same job right now what government is trying to do under this funds so there are two funds for promoting our startup India one is startup India state fund and funds or funds where government is going to come on 50,000 crores especially focusing on MSME sectors now another most important point regarding this MSME sectors is we are always trying to match German model so German model of MSME so right now whenever government want to develop our MSME sectors the model is always German because German is a country is considered to be the manufacturing hub right now China is the global manufacturer one of the reason why they are global manufacturers because of cheap labor but if you take Germany that's not a situation where labor, labor enjoy a very good standard of life and enjoy their social life also so India want to replicate that model rather than Chinese model so in Germany so they call so they call this MSME sectors as term called mittels land just wait a minute so mittels stand so this is a term given for micro small and medium enterprises in Germany so mittels stand is the term used in Germany for this micro small and medium enterprises they have a huge influence on German economy and German is a manufacturing hub and especially you can see that high-end machines always come from Germany or high-end manufacturing products come from Germany that India want to replicate it so this MSME model of entire India is based on this German model mittels land okay there's another extra piece of information which you want okay we'll see a question so this question is 2019 GS paper three question I'll give the outline of the question the question speaks about the strategy of inclusive growth ultimately reaching the object of inclusiveness and sustainability so they asked to comment on this particular statement so when you say strategy of inclusive growth when you say inclusive growth means we can categorize in three broad areas political economic and social inclusiveness that's a major area and what is strategy for inclusive growth is right now government is focusing on different dimensions of inclusive growth start one of the strategies writing from decentralization and technology based solutions all being done by the government to promote this inclusive growth so but the question is regarding how it is able to achieve the object of inclusion and sustainability when you take this inclusion and sustainability I said that inclusive growth can be classified into social political and economic so based on this particular Yojana December month Yojana what we discussed we can discuss two dimensions one is economic inclusiveness and social inclusiveness based on what we discussed in this articles we take this economic inclusiveness and sustainability we take this GI tag and MSME sectors what we discussed can be written as a point for this particular question how government is promoting this GI especially focusing on rural economy creating inclusiveness and sustainability similarly we can take this MSME micro small and medium enterprises where government is trying to make them a main part of mainstream development so that is also a good example of inclusiveness and sustainability that's for economic inclusiveness where we can write these two topics and when you go for social inclusiveness we can relate this Jaljeevan mission so we can see that in Jaljeevan mission one important criteria is inclusiveness and sustainability where we can see that local people are being trained capacity building is being done and planning is done at the village water sanitation committee level so all this results in inclusiveness and sustainability so these articles these three articles what we discussed can be written as two points for this question and political inclusiveness you can also write as a point so this can be a answer written to this question based on this article I think you're able to get an idea okay thank you