Good afternoon, everyone. Thanks for being here. My name is Francisco Caudera. I'm a technical program manager at the AKS Hybrid team at Microsoft, and today with me is Angel. So my name is Angel. I'm part of the VMware AI Labs team working on the exploration and development of WebAssembly related projects. So yeah, and today we'll be talking about how you can use RunWassi in order to run WebAssembly in kind of a serverless approach, specifically using container D and Kubernetes. But before I start, I'll just tell a little story. So over the last two years, I've been coming to different kind of Kubernetes conferences, WebAssembly, and every time I go back and I talk with my Kubernetes team and I just talk about WebAssembly, they always say, hey, feels great. That's great. But how I can use it? How I can actually start using WebAssembly with Kubernetes? How I can actually bring it to customers? And there is actually where I actually lack of good answers. So when I was talking with Angel talking about this talk, we actually thought about, okay, how are we going to frame it so that we can help everyone actually start doing, you know, creating applications using WebAssembly specifically, right, with Kubernetes? So let's go ahead and start it. So we'll start talking a bit about, you know, WebAssembly. Then we're going to actually create a Kubernetes sample app, really simple. Then Angel will go over, you know, what is the Wasam worker servers, how we actually do that migration process of moving from using Linux containers and start using WebAssembly modules. Then if we have time, we'll go over how you can actually extend this kind of a really simple app using serverless AI, using WebAssembly, using Wasign, and finally just, you know, some conclusions. So the sort of that kind of like WebAssembly is the next wave. For those that are not familiar, WebAssembly is kind of a low-level assembly-like kind of language with this really compact binary format, which has real kind of native performance and has multiple benefits over containers. And yeah, sounds great, but, you know, it's difficult, right, to actually start using WebAssembly. But if we go actually and see the CNCF, the annual survey in 2022, we see that container, they said that containers are the new normal WebAssembly is the future. Again, great. But when you actually go and start seeing the numbers, you see that 64% of these kind of respondents are using Kubernetes in production environments. 25% are actually, you know, using, doing POCs. We'll probably end up using production environments also. But when you go to WebAssembly, you should just see that 35% actually tested WebAssembly. So we need to make sure that we're able to tackle, right, how you actually move from testing to actually production, and you bring in, right, side by side with Kubernetes. So how are things going? So let's start with the good things. We're, you know, the community is making great, great progress. So there's, there was this year just, you have Wasm IO, there was Wasm Conference, Wasm Day, right, for both KubeConny, you and KubeConnet in North America. A lot of kind of, you know, adoption when it comes to WebAssembly and Wasi and all the different kind of community projects. When it comes to different languages support, there was Python, JavaScript, now with the Wasi interface for garbage collector, you know, it's going to probably bring Java, bring .NET, there being kind of also news around Go. So a lot of kind of these languages are actually bringing this kind of compilation to WebAssembly. And also there's been new kind of tooling when it comes to, you know, to provide a better developer experience. So now you can actually go ahead and pack a WebAssembly component into an OCI container and actually push that to your container registry and use actually Kubernetes to download and kind of run it. But also it's true there are a lot of challenges. There's a restricted capabilities. So right now you, we don't have like, there's no support for sockets, there's no support for threats, that's coming right with a new Wasm interface. If you want, for example, to use GPU, there's also kind of restricted there. Again, things are coming. But right now the state of art is just, there's some kind of restricted capabilities. When it comes to debugging, because you have this kind of binary format, it's quite difficult to actually do the debugging and actually use the same tools that you're using with a normal, let's say, Visual Studio, kind of the tool that you're using with your normal programming languages and actually bring into WebAssembly. Better Wasm support, again, there's still like, you know, features. There are some kind of interfaces that are being kind of developed right now, but more are needed in order to bring, right, these kind of all the required features for these new apps. And finally, kind of the developer ecosystem and the guidelines. And here it's just like, when we talk with Angela, every time you're trying to start to do a WebAssembly kind of application, it's quite difficult because you have to go over a lot of things. And there's no clear kind of guidelines of how you should start. So the idea here is that we'll try to go in this talk to talk about how we can actually improve disabled adoption by showing this kind of migration journey from containers to WebAssembly. To do that, we are just going to be doing this sample app, which is a gallery app. So it's just this kind of app where you can just upload pictures and you have reactions. You just kind of like this, right? And you're restoring both on a database and also as local kind of files for us. So if you go into kind of a bit into the detail of the architecture, you can see that you have this kind of Node.js reactions module, really simple kind of API using Hono. Then we have Python Flask App, just with the front end, really simple again, just to upload the pictures, show the pictures, and actually communicate with the Node.js right for their reactions.  And then you'll have, of course, your Kubernetes kind of environment with the login networking, you know, all the different kind of Kubernetes components. So if we were to actually use this kind of solution, there are a couple of challenges. And the first one, of course, is the size and dependencies. So here we're just using, right, a Python kind of a base image. And you can see there, we're using the Python 3.11. And you can see the actual size of that is 300 MB. If you go actually to the other app, which is the Node.js, we're going to use, let's say, a Node base image using just Buster's LIM. And there you can get, it's much better, you get all the way to ADMB, but still it's quite big. And the worst part of this also is that you are taking a lot of dependencies. You're using a lot of packages inside these images that you're not actually kind of using. Maybe you're not, you don't even need those kind of packages in your app. But they're still there, they're still out in this kind of base image. The second challenge is around kind of security, right? Because you're having these kind of packages and you're having these kind of big base images, you have a lot of CVEs. Like, even before starting, and we did the kind of the investigation of just going to Docker Hub and check, right, this base image. And you can see in this case it was a Node.js image that you already have 31 CVEs there to fix. And you haven't even started with your application. That's just the base image. And the last thing is about portability. So over the past kind of years we've been heard a lot about ARM64, you know, how better RISC-5 it is. And kind of, if you actually go right now into Azure or Amazon Web Services, you can see that if you're using, for example, an ARM64 Kubernetes node pool, you can get a much better price compared to X86. You can get it specifically, I think, in Azure, it's like you can get a 50% better price performance. And in AWS, you can get something like 40%. And right now, this kind of trend of just, you know, getting this adoption, you know, better prices with ARM64 is also coming to kind of the PC-class hardware devices. So we've talked about a lot, you know, we know everyone about the Apple Max, right, without using, right, with M1s, without using the ARM64 chipset. But now I think last week Qualcomm announced also that they have this kind of big competitor to this kind of chipset. And they're claiming that they can have 68% better performance with the same, you know, with low power. And they actually claim that they have 50% better kind of faster, peak multi-thread performance compared to M2. So I don't know if that's going to, it's actually true, but we're going to see a lot of kind of traction also there with ARM64 on these kind of PC-class hardware devices. So when you start thinking about that, that means that now you will have to take into account that you'll have Linux containers for X64, right, now you actually need to add ARM64, probably in the future, right, if we keep in this trend, we're going to have to add RISC-5. And it could be another OS, Windows, let's say. So actually that matrix keeps getting bigger and bigger. So you actually need one container page of these different kind of permutations. So we try, now we're going to talk about how we actually can tackle all these challenges by using kind of a was on worker servers. So thank you very much, Francisco, for all the interaction, all the context. One of the things that is happening around ecosystem in the was on ecosystem is that there are different ways in which you can tackle all these approaches and try to deploy applications using WebAssembly as the underlying technology. One of them, of these projects, is was on worker server. And this is the one that we are going to use today for moving these projects that we were describing before into WebAssembly. So was on worker server is a tool to develop and run serverless applications. Internally, it uses WebAssembly and it enables you to do different things like combining multiple languages into the same application. So you can, for example, run Python with JavaScript altogether. And then you can run the application as Francisco was describing almost anywhere. Because one of the promises of WebAssembly is that once you compile one specific application, you are doing it targeting virtual matching on binary format specifically for WebAssembly. This same model can run in any environment that provides a runtime that can read and run that specific model. It means that once you compile it, you can run it in ARM64, in x86 on any new chip that the runtime supports without having to recreate or recompile again the project. You can think as was on worker server as a regular server that you could deploy your application in your infrastructure and that you can drop some code inside and then it will figure out what's the code and how to run, how to expose all of the information to the users. Giving you a very, very brief information about how this was on worker server works, it's a server as I mentioned. On top of that, it sits a set of different language runtimes which we precompile for you so you don't need to do that work. We have Quick.js, which is the JavaScript runtime that we are using for this specific project. We have Python, we have Ruby, and the good thing is that the community is moving forward and adding more and more languages over the time. Because I think one year ago when we started working on this, there were just a few languages supported in WebAssembly, and if you wanted, for example, to use a new one like Ruby, you had to actually do the work and compile the entire Ruby interpreter to WebAssembly. And that was a huge bore in some cases, depending on the interpreter that you use. But it took time. But now the good thing is that different languages are keeping up with new proposal, like Kotlin, for example, announced that they have good support, it's much faster and much smaller. There are other languages as we were mentioning, Java that will come in the future. As far as I know, like Go, Rust, Zeke, all these languages have really good support for targeting WebAssembly. Was on worker server in reality is a layer on top of an existing WebAssembly runtime, which is was on time, the one that it uses under the hood. So this specific server can run in many different environments. Today, we are talking about Kubernetes, we are at KubeCon, of course, but it's just one of the targets that you can run this application, meaning that if you want in the future to use a different approach for developing the same applications that we are going to show today, you can run just was on worker server in your laptop, a different kind of server, integrates in your infrastructure in a way that makes sense for every use case. So now let's go back to the project architecture. So as we mentioned before, we have two different apps, reactions and carousel, both are written in different languages, using different frameworks, and then we have acrylite. So the work that we have to do today is to migrate these two applications and converting in a way that was on worker server can run on top of WebAssembly. The good news is that that process is not really complex for Natalie. It's true that it depends on the application, of course, but in the case of the on application or the reaction application, which is the first one that we are going to migrate, we have already the language that is supported, that's good, you don't need to change the language and start from scratch. We have already the framework that is pure JavaScript, so you can basically move with the code. And then you have all the features that are required for this specific application, which is calling a third-party service, the acrylite database, and that's also supported in was on worker server. So we have everything. So the steps that I'm going to show now is that first you need to identify the required capabilities, because by default, any application on top of was on worker server, that thing has access to any resource. It means that it cannot perform HTTP calls, it cannot access the file system, environment variables, anything. You need to configure and grant all these permissions one by one, keeping your application totally isolated from other elements in your infrastructure. Then you need to create a configuration file, which will define these features. In this specific case for JavaScript, currently, we are not supporting having multiple models as you could do important exploring the JavaScript world, so you need to bundle everything into a single file, as you could do, for example, for a front-end application. Then you define the application structure, meaning about how you are going to expose that API or what are the points that you use for that, and then run the application. That's all. So let me see if I can play the video. Okay. There it is. Okay. So the first thing, whoops, it goes. Okay. So the first thing, let's take a look at the it's going. Do you know how to pose in the middle? Okay. Yeah. So I'm going to show you how this works pretty quickly. Thank you. So the first thing that I want to show is about the code. The code is a pretty simple project, not going into the details, but you have a package JSON that defines the project dependencies, you have an app.js file that contains the basic logic server that will run on Node.js, and then you have all the different pieces like the database connection and the handlers that will work for this specific application. If we take a look, for example, to the package.json file, it's a pretty standard package.json. We already required ono that we were talking before and the node server for exposing it. If we take a look at the app file, it's an ono application which is a framework similar to express on Flask, but for JavaScript. It returns all the handlers that will reply to the different API endpoints. It configures the database at the top. Then we prepare the database to start receiving information. At the bottom, we have all the API endpoints that this specific API will reply to. So the next thing is the server file. This is just for Node.js for getting this specific application and running it. And now take a look. Let's take a look about how this works. So the first thing we need to set up the database, I'm going to use Docker Confos locally. I start the project using Node.js with NPN start. And then I call the base API and I get the status okay, which is the main endpoint. So now let's migrate this project to was on worker server. We can do it in different ways. The way that I explain is about bundling everything together. Another option is to split the code application into separate pieces, but to avoid having to write code and having to do it again, we just bundle it in a single file. For that, I'm going to use this build with ECMAScript models format and then I output it into this folder, just 42 kilobytes. And then I need to create the configuration file, which I already created before. So this configuration file is the one that is associated to the application that we just created and enable the different features that will be required for this application. For example, here, we have the environment variables that we want to configure. And then we have the HTTP request feature, which is one of the features that was on worker server provides to the application. So here we are allowing HTTP connection, so not without HTTPS. And then some specific hosts that this specific application will access to. It means that if the application tries, for example, to access an HTTP endpoint that is not declared in the configuration, it will fail because the service is totally isolated. So it needs to go through the host, which is validating all the calls that it's doing before reaching the service. So now we have all the pieces that we need to run the same application in was on worker server. The first thing that we need to do is to install the project, which is just a single line of code. As I mentioned, it's a CLI that you can download, just score and install it to local in your system. I have already installed, so not going to run it. And then we define the folder that we want to run. So at this point, you may be thinking how this, how was on worker server knows what are the endpoints that should reply to this application? Because here I'm using JavaScript, but I could drop in the same folder Python scripts and Ruby scripts, and they will also reply into different requests. So for this, specifically in was on worker server, we use a pattern that it's called file system routine, which means that was on worker server automatically maps the files that it identifies as functions or what we call workers, and then exposing on an HTTP API. In this case, we're using the dot notation to ask was on worker server to reply all the different routes that can happen in the server with this specific worker. If we, for example, write here a file, which is hello.js, was on worker server will expose that file at hello endpoint. But in this case, we want all the different requests to go through the same worker. So this is the pattern that we should use. So now if we run was on worker server, we need to, in this case, I put the port, I just pass the folder that they want to run as a project. And then if I call the same API, I get the same result. So not very exciting, but it works. And we could make great one application without changing a single line of code in the project just by compiling all the different JavaScript files into a single one and prepare the configuration for was on worker server. So the next thing that we need for deploying it to Kubernetes is basically distributing that file. So for this step, what we need to do is to create a container image that we can push to an existing registry and then pull in our Kubernetes cluster to run the application. The good news here is that was on worker server could be installed as a shim inside the Kubernetes cluster as Francisco will demonstrate later. So the only thing that you need in the Docker file are the project files. You don't have any dependency, you don't have any runtime, you don't have to write anything inside. Just from scratch copy the files and point to the worker that you want to serve. That's all you need. So let's go back. Okay, we are back. So that was for the JavaScript application. For the Python application, the process could be really similar to this. In fact, if we check the list of things that you need to do, both at the top, identify the capabilities and prepare the configuration file as well as defining the project architecture and running it are common for any language that you want to do. And then you have in the middle something that is specific to every language. So for JavaScript, we had to bundle all the files into a single one. And for Python, we need to mount the libraries that we want to run, for example, the flask libraries, and then configure Python to read them. So just because of time, we are going to escape this part of Python. Let's continue and talk a little bit more about the benefits and challenges. So when we work with Wasm worker server, the WebAssembly ecosystem in general, the good thing that the first thing that we get is that the application that you distribute only includes the code that you care about. So all the different things about layering, all the different gaps, exposing things, all that it's basically exposed by Wasm worker server. So you just need to care about the business logic that is important for your use case or for your application. The second thing is that you have feign-grain permissions. So workers, every independent worker will have access only to the resources that you grant manually. And then you don't need to install a runtime locally because we distribute a set of different runtimes like Python, Ruby, and JavaScript with Wasm worker server. You don't need to install everything locally in your system. We just install Wasm worker server and that's all you need. So what are the challenges here, of course? There are always challenges. So not all the languages and libraries are supported. This is something specific to Wasm worker server, but for the entire WebAssembly ecosystem. The community is growing, new languages are coming as we were talking before, so this is going to be better in the future. In this case, the performance is worse. The response time is lower when you are running Wasm worker server. I'm going to explain in the next slide why this is happening and what we are doing to improve those. And as a general thing, as Francisco mentioned, debugging and monitoring is something that is not clear today for Wasm. So the main reason about the performance is that many of the applications that you run today expect a long running process. So, for example, when you have Python with flask, at the beginning, when you boot the server, it loads all the different libraries and then it waits for getting requests. However, in the model that we are working with Wasm worker server, all these models are invoked by request. So it means that on the good side, it can scale down to zero. So if you don't have any user access into the request, you are not consuming anything on your server. But any time someone reaches the server, it needs to load everything and provide a reply. What we are doing today is trying to find ways in which we can speed up this initialization process by, for example, do model pricing initialization, catching, sharing the resources so you have just one runtime that you can share across all the workers that you have. And this is something that we will take a look and improve in the future. And that said, let's go back to Kubernetes and deployments. So the idea here is that now we are going to migrate the initial application that was using Linux containers right to the WebAssembly kind of modules. So as you can see here, same kind of architecture, but now we have the Wasm worker servers and then on top of that, the two WebAssembly modules, the same database. So if you go a bit more into the details here, so you're having the Kubernetes cluster, right? And if you go into those two deployments, you can actually see two things. First is that when it says the runtime class, it says runtime class name, there we have WWS, that's Wasm worker server. So we're actually saying, hey, when you're going to download this kind of container, you actually need to run with this specific shim, right, this container, this shim, that will already contain the Wasm worker server. And then if you see there on the images, right, it's just reactions, right, at WWS, which is kind of the Wasm worker server container that is much smaller, but we'll go over it. So I'll go over really quick over the demo. Let's see here. So we'll start just with really quickly with the Kubernetes cluster. And I'll just go ahead and apply first the Linux kind of a module. So there has all the services created. I can see the pods getting created. Let's go up. Now I'm going to go, I deploy first the database. And now I'm going to actually deploy the two Linux containers, right? So it's going to be the Flask app and the Node.js app. Let's go running. Okay. Now I have both running here. And now I'm going to go and check the service where I have my Carusel Python Flask app. And I'll just go here, check that it's working. And actually I'm going to go and upload a picture and then just use, you know, a couple of reactions just to make sure everything works. Yep, there it is. So I upload a picture, just press a couple of times. I get the reactions. Those are being stored right now in the database. And that's actually using Linux containers. So the idea is now that we're going to move right into using WebAssembly modules. So now I already deleted the previous deployment. And we're going to be applying now the Kubernetes. There was some kind of deployment. So same approach, right? So you have the same database. What I'm changing now is moving right from the Linux to actually these Wasm containers. So let's go ahead and make sure that they're running. I can go and check the logs. It's actually loading these workers. One route, in the case of the Node.js app, it was just one route, the reactions where you would get what's, you know, from the database. They're loaded. And actually I'm going to make sure, you know, the carousel is also running. Let's go quickly. Yep, it's running. And now I'm going to change, right? If you see now, I'm changing to the new service that this new service is actually targeting the Wasm worker server. And you can actually see right here that is on a different port. So I'll just go ahead and run it. And the experience should be exactly the same. So I'm going to log into this new service that is actually targeting the Wasm worker server. And we should see the same, right? So the only difference here is that, you know, the app, the image is not there because in the end we're starting images directly on the kind of, let's say, on the folder inside the container, right? And the different kind of Linux and the Wasm kind of container. But as soon as I upload the new picture, we're going to see the same telemetry from the database. I'm going to upload the same picture. And we should see, it takes, as you see the performance is a bit slower, but you should see that the same picture, right? And it was having the same telemetry, the same kind of insights that were stored on this database. Just to wrap up, let's go back here. We could, as part of our GitHub, we're uploading all this, we also have a way to add a new AI service. And in the end, it's really simple. You would just add this new kind of worker that right now we have an example how to do that with Rust and Wasm. So you would just add one extra worker. And then you can actually connect right and get, you know, for example, in this demo that we uploaded, we're just getting tagging. So every image that you upload, you get a tag. And just to conclude here and leave some time for questions, so we're providing the same feature set, right? So you can actually have the same features, both Linux and WebAssembly. Now, because we're using kind of WebAssembly, we have a better security posture. So I already mentioned the deny by default and all how you actually need to approve all the different kind of features that you want to enable. You have less CVS, right? Because now your base image is a scratch, right? You don't have that kind of base image. We improved portability. Now, with these kind of modules, you can actually move them around kind of, let's say, ARM64, X64, Windows Linux should work anywhere. And then finally, you have a reduced container size and memory usage. And you can see here in our example, the reactions kind of Node.js, Linux container originally was 86MB. With the Wasm kind of version, you get to 12.5KV. That's 688 reduction. Same with the Carousel app. The original Python app, it was 264MB. And then with the Wasm version, you get all the way down to 17MB. And like, there's like mainly there, it's, you know, the kind of the bootstrap and kind of the styles. But if those were not there, it actually goes really down same as kind of Node.js. So yeah, that's kind of it. And thank you. Any questions? Yes. So actually, that one of the benefits of Wasm Worker Server and is that the same way that you mount the entire reactions or Python app in one specific root like slash whatever, you can also mount the second application in a slash API with the following pattern. So by doing that, you can deploy just one container with the two applications together. And then everything inside a slash API will be replied by the Python Flutter application. And anything in JavaScript will be replied by the main application. The good thing about that is that that gives also you a way of start like moving specific endpoints to a new language. For example, if you are migrating because you need to write it in a different language in a more iterative way. So you don't need to go from scratch one service, maintaining a legacy one, and then start moving things to a new one. You can do that directly. So yeah. So the question is how this combines the Wasm Serverless approach? How it works with Kubernetes space? Right? Okay. Yeah. So the thing is that not all the projects in the WebAssembly ecosystem works in the serverless way. Let's say Wasm Worker Server does it in this way. So when we mentioned serverless is more about how you architecture the application more than how you deploy the specific apps. In this case, we are mounting all the different endpoints in the same path. So you have one application that internally has a router that redirects the request to the right method internally. But another option is to split all those methods in individual workers that we have associated their own request and response. So in this specific case, what WebAssembly brings to the ecosystem is more about how you can run the applications in a portable way so you can move it in different places and how you can reduce those containers from having all those base resources that you need to put inside libraries into a more streamlined way, just the binaries that you want to run. So in general, it would depend on the application that you want to run. You have both options. But it's just another way to run applications in Kubernetes. You have the ocean running there. You can run it in a different environment, but using the same resources. Okay? So thank you very much.


In the last segment, what we did is we took a look at methods by which we can calculate the properties of gas mixtures, be it internal energy, enthalpy, or entropy. What we're now going to do is we're going to work an example problem and that will enable us to apply some of these different ideas in terms of coming up with a solution. So I'll begin by writing out the problem statement and then we'll proceed through the problem. So there's our problem statement. What we have is an adiabatic mixing chamber and we have two fluid streams coming in. One is ethane and we're told that it's at 20 degrees C and 200 kPa and the other gas stream methane at 45 degrees C and 200 kPa. We're given the flow rates, the mass flow rate of both of them and we're told to find the mixture temperature so that would be the fluid stream leaving as well as the rate of entropy generation during the process in units of kilowatts per Kelvin. So that's the problem statement. What we'll begin by doing is writing out the information that we know and then we'll proceed through the solution. So those are the things that we know. What I've done is I've gone into the back of the book and I pulled out the values for the gas constant for both ethane and methane, specific heat as well as molar mass. Now the temperature change here is not that significant. We're going from 20 to 45 degrees C so the mixture coming out is going to be somewhere between those two and consequently, this would be one where the specific heats are not going to change that significantly and consequently we can make approximations there. We don't have to do the exact analysis where you'd have large temperature swings. So what we're going to do, we're going to begin, I'll write out a schematic of what this problem might look like. It's basically quite simple, it's just a mixing chamber. So we have a mass flow rate of ethane coming in, mass flow rate of methane, and then leaving we have the mass flow rate of our mixture. And what we're going to do, we'll start by applying the first law of thermodynamics to this. It is a steady flow process but it does have multiple inputs and one output. So let's write out the first law. Now we can neglect kinetic and potential energy, they're not changing, we have no information on them so we neglect those. We were told that it was an adiabatic mixing chamber, mixing chambers do no work so those two disappear and what we're left with then is going to be the mass flow rate of either ethane or methane multiplied by the change in enthalpy of those two fluid streams. So this is where we will be making an approximation in terms of the specific heats for the enthalpy change. And in this equation we know everything with the exception of the exit temperature for the two fluid streams and so what we can do now is we can insert all of the known numbers and then calculate for Te. So that is what we determined to be the exit temperature which addresses the first part of the question. And so you can see one of our fluid streams was coming in at 20 degrees and the other was at, what were they, they were, one was at 20 and the other was at 45 and so we come out at around 30 degrees C which is pretty much in the middle there. So what we'll do in the next part, taking a look back here, they want us to calculate so we've got the mixture temperature, the next part is the entropy generation and that will take a little bit more because we've got to worry about entropy change for a gas mixture but that is what we will look at in the next segment.


Welcome to the Center for Global Enterprise Global Scholars Expert Connect series Identity in a Digital World. My name is Ira Sager. I am Vice President of Global Learning Initiatives for the Center for Global Enterprise. For those of you new to the Center for Global Enterprise and our Global Scholars program, CGE is a non-profit research institute focused on the study of global management best practices, the modern corporation, economic integration, and their impact on society. Our Global Scholars program is a worldwide learning community for business interested students, academic faculty, and business professionals. Through Global Scholars we offer online courses and digital internships as well as this and other expert connects. Participation in all our programs and membership is free. You can find more information about our activities on the CGE website. But before we start a few housekeeping chores, today's program is being recorded and will be available on demand via the CGE YouTube channel. We will leave approximately 15 minutes at the end of this session for audience questions. If you have a question for our panelists, you can submit your question using the Q&A feature at the bottom of your Zoom screen. We will try to get to all your questions time permitting. Today's session on India's AdHARP digital ID program is the second forum we've convened to explore the complex issues surrounding how we manage the security and privacy of our identity in an increasingly digital world. CGE launched this forum to showcase the leading edge practical and applied learning on the topic of digital identity and the implications for business and management. Today's focus on India's AdHARP program could be more timely. India's Supreme Court just ruled that the biometric program, the first and largest digital identity system implemented on a national scale, can continue to collect data of its citizens, but it placed new regulations on the balance between identity management and data privacy, a ruling that is likely to have a big impact on countries around the world. Leading our discussion is Dr. Irving Ladowski-Berger, a CGE fellow and former IBM Vice President of Technical Strategy and Innovation, who will introduce today's presenter, Dr. Ram Seewak Sharma, the founding CEO of India's AdHARP ID project. Irving? Thank you, Ira, and welcome everybody to our webinar. It is truly an honor for me to introduce Dr. Ares Sharma, the chairman of the Telecom Regulatory Authority of India, a position that he has held since August of 2015. In his present job, Dr. Sharma has led major reforms in the sector, including the work in the area of net neutrality, data ownership, privacy and security. Dr. Sharma has been working in the area of public administration over the last 40 years and has long been deeply involved in the areas of e-governance and the delivery of public services in India. But very prominently on the subject of today's webinar, Dr. Sharma was director general and mission director of the unique identification authority of India. As a founding CEO for India's ID project called AdHARP, he was the head of it from 2009 to 2013. I've been following AdHARP very closely since the beginning, because it's such a fascinating project with the scope and all the things that it's been doing. And because clearly, the Indian government has been a true pioneer in the question of identity management. And as Ira Sager just said, the India Supreme Court just made an incredibly important ruling on the balance between identity management and privacy. A ruling that as I read in today's New York time, as I was having my breakfast this morning, is going to have a huge influence, not only in India, but in countries around the world. Dr. Sharma also PhD from IIT Delhi, a master's in computer sciences from University of California at Riverside, and a master's in mathematics from IIT Kanpur. Dr. Sharma, it's a pleasure to have you, and we look forward to your webinar. Thank you very much, friends. And I really feel privileged and honored to be talking to you and on this platform. I have always believed that if something good has been done somewhere, it must be shared with everybody in the world. And so that you other people do not reinvent the wheel. The whole purpose of talking about this project is essentially to spread that message and essentially to share our experiences. The idea is not that these replicates experiences can be exactly replicated as they are, but the idea is that something good can be taken out of these experiences and probably modified in the national context, and then kind of replicated in each country or each domain. So that's the whole purpose. I'm not sure how much time do I have to present to just tell me that and then I'll proceed We have about 20 minutes for your presentation, and then we'd like you to have a discussion with Irving and then we'll open it up to questions for anybody else. Wonderful, wonderful. So I'll try to keep this timeline. So the idea is, again, as you know, I was mentioning yesterday, the Supreme Court of India, you know, kind of gave a thumping ruling saying that, look, as an artifact, as a product, as a digital identity infrastructure, follows all the principles of privacy, preservation, security, and, you know, all data privacy and other, you know, best practices in the digital world. And also, it actually gives empowerment to the poor and marginalized of this country. And therefore, it's a wonderful judgment. And personally, for all of us who worked in Aadha on this project, we have been completely, you know, celebrating since last, last evening. So, so, so I think this presentation would not have come at a more appropriate time. So it has been validated to be something the architecture and the design of this project has been validated to be consistent and in consonance with the broad principles of right to privacy being a fundamental right. So let me just now go to the next slide. So essentially, in the next 20 minutes, I'm going to talk quickly about some of these stuff as to why did we start Aadhaar? Why did we start this digital ID project in India? So context, what are the context? And then how did we begin doing it? What are the desired principles and why does Aadhaar become such an important tool of service delivery? And what are the products that we have built on top of Aadhaar and what have been our experiences thus far? That's the broad, broad agenda. So going to the next slide. Essentially, there were two problems which we had in India. One was there were many people who did not have any formal identity document. Now, to those who are from, let's say, Western Europe or some other developed countries, they may not understand and appreciate this specific aspect that how can there be a board? I mean, as soon as a child is born, you know, some national document or some kind of document is given birth certificates, etc. How is it that some people may not have any ID document in a country? But that was the case with us. There we had, you know, large number of people who do not have any documents which they could use to present before any formal system to do any transaction. So for example, if I wanted to open a bank account, I probably did not have any document to prove my existence. And that was one problem which we were trying to solve, which means can we develop an identity system which is inclusive, which means it's not, it's not difficult for a person to get an ID. So that's one context. The other context was that while many people did not have any ID, there were some other people who had multiple IDs. And the idea was because India was giving subsidies and benefits to individuals, it was beneficial to gain the system by having multiple IDs. So that's another part. So essentially to clean up existing databases from ghosts and duplicates, there were multiple ghosts and duplicates existing in various databases. So how do we create an ID system which can ensure uniqueness in the sense that one person only gets one identity? So put it this way, uniqueness and inclusion were the twin goals with which we were trying to solve these two problems. And of course, a corollary of these two objectives was to improve targeting and delivery of services because if you have an identity, then you can target the services to an individual. And of course, if you have a digital identity, then the digital delivery of services is almost always cheaper than the physical delivery of services with documents and photocopies and stuff like that. That's another part. So these are the four context in some sense which you see on this slide. Next. So essentially, what was one of the problem statements? Second was what were the overarching constraints or objectives which we had? One was uniqueness, I explain to you. Another was scale and speed. Because if you start creating IDs, and India has got 1.2 billion people. And if you are not speedy enough, if you are not quick enough, it might never finish. Because the people who get the number of persons who are born, if your ID system generation has the same rate, then it will go on to infinity. So hence, we had to have some program which could actually ensure a speed. And that our objective was can we do it one million per day? And if you do it one million per day, 1.2 million will make 1.2 billion will take 1200 days, working days, which will mean about four to five years. So so can we do it that fast? Second, scale. The point is, if you have any program, then does it scale up to that level? So that was another issue which we had. How do we make this process easy? Because inclusion was one of the one of the goals. And then of course, the bootstrap problem bootstrap problem is if I ask for ID document to create ID document, then you know, I'm running into a circle circular problem, where a person who has no ID document, he can't get an ID document. So that's that's the bootstrap problem we call it. So that was another one. It has to be cost effective. If you see UK's ID program, it was costing as per London School of Economics study, it was costing about 135 pounds. Now, if we you know, do that, we will spend trillions of you know, rupees trillions of dollars, which is mean huge number of dollars, 1.2 billion multiply that by by 135, you have a huge figure. We have to be cost effective. We have to use technology to ensure uniqueness. It has to be a future proofing, especially when IT systems get obsolete very soon. How do you ensure that the systems are future proof? And of course, we were building a foundational identity, which means this identity is not for a specific purpose. It should be used as a platform for multiple domains. So that was the broad architectural overarching goals with which we begin this program. Next. Now the design choices which we made was essentially, you know, it should be, we will create de novo data creation. If we if we base it on some other database, which already is infected with a lot of duplicates and posts, we will end up creating another erroneous database. Therefore, we said, let's begin de novo. Of course, let's let's also ensure that we don't use any specialized hardware because this will require a huge processing and we can't, we can't sort of depend on one, you know, vendor to provide a system like hardware. So it should be a commodity hardware. It should be an asynchronous unbundled and minimalistic kind of processes, which means we should not create many dependencies to create this program.  So that's another part data driven decision making, we can't depend on anecdotes and stuff like that. So we have to design a system which is based on data driven decision making, decentralized enrollment, centralized processing, because you can't have a central enrollment process. India is such a diverse country with multiple languages, and multiple issues and problems of infrastructure, electricity, power, we can't so we have to have some system where you are. And of course, if you want to provide convenience to people, then you have to have decentralized enrollments. And of course, outcome based enrollment immunizations and open source and open standards, that's very, very important. See, we did not use we decided not to use any of the proprietary stuff. So all our systems of operating systems, communication protocols, systems, they were all open source and they were based on open standards. We also use the third thing, which is called open API, because ultimately, you are making an interoperable platform. And therefore, it has to be based on open APIs. Next. So broadly, these are the features of Adara and I'll quickly go through them. One is that, you know, only numbers, we decided to issue only numbers because we believe that in a connected online world, you don't need any tokens. So we did not use any cards, not neither is smart or non smart. And we just printed the number on a piece of paper and, you know, set it in form of a letter that that's how we did. And we thought that, you know, our whole idea was it's a digital online ID infrastructure, and you don't need to use any of the cards. Secondly, the privacy was built in other design. So we use random numbers. And therefore, the numbers don't have any profiling or intelligence, which means it's a hard 12 visit random number, the 12th visit is a check rate. And therefore, there are effectively 11 visits, which are operational. And you can, you know, as you know, 11 visits will give you 10 to the power 11 numbers, which is 100 billion. So you will have 100 billion number space. And on this number line, all these are random numbers. So they are a spread. And you know, you can't even guess anybody's Aadha. So if I give you a 12 visit random number, you don't know whether it's an Aadhaar number or not Aadhaar number. And if somebody's Aadhaar number, you know, next number may not be Aadhaar number. In fact, the probability is 100. It is voluntary nature. Enrollment was voluntary. All residents including children. So biometric was the basis of unique creating uniqueness. Biometric was collected, not because you know, we wanted to capture everybody's biometric, but there was no other way to ensure that one person only gets one Aadhaar, one number. Because the biometric deduplication, fortunately, you know, nature has created that each person has got unique biometrics. And we took all 10 fingerprints in both iris because fingerprints could not have given us accuracy or more than 95%. And as you know, 1.2 billion 5% is 60 million. So 60 million duplicates would have been floating around. So we actually included iris, which actually gave us the accuracy level of 99.98%. So that's the other part. It actually another part which we ensure that it is just an ID. It did not give any guarantee to citizenship rights entitlement. That's very important because if you would have bogged down to citizenship, then it would have been very difficult exercise for us to continue. So we said all residents are intact. Anybody who's living in India is entitled to four Aadhaar number. And because we just prove this X is X, we said, no, X, what X deserves or what X's entitlements are, we are not going into that. So this is the world's first ID in some sense, which is actually ID without eligibility. This is a very fundamental principle because typically all the ID documents are essentially eligibility documents. You use, for example, driving license to prove your identity, but driving license is essentially an eligibility document that you can drive a vehicle or you can passport the citizenship document. So they are all eligibility documents. These are being built eligibility on top of this identity. So basically we just have minimal identity. And of course, we also started a new thing which nobody in the world had done, which is essentially we provide authentication, which means using your biometrics or your demographics, you can prove without any document just by remembering numbers and some of your identity attributes and put that, and this will basically prove that you are you. So at the service delivery points, you can use this as an authentication mechanism.  So all kinds of, you know, transaxons are authenticated and it is important. Otherwise, if you don't authenticate, you may get my, you know, entitlement and that that becomes a problem. So essentially in order to ensure that there's no proxy in the service delivery, authentication was introduced. Authentication also brought about another revolution, which is your identity now is on the cloud. Your authentication or your eligibility in typical domains is also on the cloud. So therefore, your entitlements are all portable. So portability of entitlements is another important attributes which comes out of authentication. So online authentication service we provide. And just to give you an idea, you know, we have done, we are doing eight billion authentications per month. So that's the, you know, imagine the amount of authentication is being done every day. So that's that's it. Next. This is actually one of the databases which has grown to about 900 billion and five years. So there's no other database in the world, including the private databases, which have grown to one billion and especially, you know, biometric database in five years. And that's that's how it began. The first number we issue in September of 2010. And then, of course, by 2015, you had 950 million. And now, of course, it is saturated. So now you have 1.2 billion by July. And now the rates of increase is very low because now there's only residual populace which is being covered. Next. The question arises, why does Adhaar become so useful? It becomes useful because Adhaar is unique. And therefore, and the Adhaar is existential, which means that you can't have Adhaar, a fake Adhaar. And they said that if there is an Adhaar, there has got to be some person existing. So unique net in existence, they ensure that there are no fakes or duplicates. Then we started a service called Know Your Customer, KYC, and we introduced another concept called Electronic KYC. So the way you do your authentication, immediately the Adhaar authority issues a digitally signed KYC document which gets deposited in the domain. So for example, if I'm going to get a mobile connection, I'll just authenticate myself and the mobile connection company will get my digitally signed document in their database and one can provide a mobile SIM in a paperless manner. Of course, entitlement should reach the beneficiary. So therefore, as I explained to you, non-transferability, which means only I can access my benefits, nobody else can do on my behalf. And this is assured by authentication at the point of service. And many domains are using it at proof of presence. For example, the attendance, you know, in India, the biometric attendance has been introduced and today four million people across the country, in various government offices, they use biometric attendance. So it's basically a digital attendance.  And the round-trip time of this is less than two seconds. So therefore, Aadhaar is working on an identity platform and it provides a common plugin for various domains. Next. Now, we constructed, you know, we all, Indians all believe in what is called Trinity.  So similarly, we came up with this concept called Jam. Now Jam is, the J stands for what is called Janathan, which is essentially financial inclusion. Because we believe that now I'm coming down to the applications of Aadhaar and I think now I have about six, seven, eight minutes. So I'll just conclude quickly. So Janathan is essentially the, you know, financial inclusion and we have opened bank account and 312 million bank accounts were opened in a period of couple of months using the electronic KYC. The Aadhaar I explained to you and mobile, today we have 1.2 billion mobile connections in our country. So almost everybody has got a mobile. Now what we have done is we have linked Aadhaar with mobile and therefore we have created what is called a proxy digital identity. So every time you don't have to do biometric authentication, your mobile through OTP becomes another form of authentication. Next. So we have now, we will have half billion smartphone in 2018. We are adding 25 billion smartphones every quarter. Next. The authentication services are being used in banking, the delivery of food grains and the cooking gas, proof of presence, you know, huge savings with convenience and traceability. In fact, in parliament itself, when the finance minister gave the statement that Aadhaar is saving about 14 billion US dollars every year, about 90,000 crores as they say in Indian rupees. Now that means that you know the total expenditure in Aadhaar is less than one and a half billion. So you can imagine Aadhaar is saving 10 times the amount which has been spent on it every year. Next. So this is actually another part is Aadhaar is now used as a universal financial address, which means I don't have to know the bank account number of an individual. You can change the bank account, but we have created a direct pie to the individual. Using this Aadhaar number, we can transfer money. So today the government is transferring 140 billion credits per month as the subsidy of the liquid petroleum gas, it's a cooking gas. So imagine two billion credit transactions of very small amount, you know about a dollar each, 50 rupees, 60 rupees, that's taking place today. And this is happening in a digital manner. So actually it doesn't really put too much of pressure on the system. The banking system is handling it in a very smooth manner. So essentially government puts in money using an Aadhaar number and the guy can just take it out. Next. Then of course there are multiple products which we have built on top of Aadhaar and I think we don't really have much time but let's go. So next. You know we have done a number of products on top of it. We have done electronic KYC, we have done Aadhaar enabled payment system, we have done Aadhaar payment bridge. We have something called on-demand digital signature, we call it eSign because you can prove your identity online and then you know you can just digitally sign a document. So you don't need a toggle to you know kind of sign a document. Then you have digital locker whereby you can keep your documents in a digital locker and you can digitally sign and share these documents. It's similar to dropouts with a difference that you can digitally sign these documents on-demand and share it. So that's that's the fundamental difference. A non-repudiable you know signatures you can do and do so. And then of course we have the unified payment interface which is again based on Aadhaar. Essentially which is a digital way interoperable, interbanking, digital way to transfer money. So today you transfer very very small amount and the number of UPI transactions has become more than the number of total credit and debit card transactions. Imagine in a couple of years this was lost about one and a half years back and the numbers have already crossed. So that's one and of course consent, application architecture, GST and other things which you have done. Next. So essentially the way Aadhaar how why does Aadhaar become important because it has been designed in a manner which is called a typically hourglass architecture which is minimal, standardized, simple design and easy to write a rule on. So easy to develop products on top of it. Next. So multiple products on top of Aadhaar. Next. It is unique. It's lifetime. We don't use Aadhaar even. Don't reuse Aadhaar number after the death of a person which means that because we have hundred billions of them so we don't need to reuse this. The number also goes with the person. Next. No more physical presence because of the Aadhaar authentication service. Next. No more photocopies because of the digital KYC. Next. E-sign essentially I explain to you this is an online digital signature service and it will be provided. Next. Digital lockers also I mentioned to you. Next. Unified payment interface. This is the great architecture of this which actually enables interoperable payments. My account may be in bank A. Your account may be in bank B. I may have application from X and you can have application from Y and still everything interoperates because of the AUPI unified payment interface. This is a protocol. Next. Electronic consent architecture. This I will not be able to put this. Basically this is a very unique product to India where you can provide a digital consent with all the you know it's an artifact where you have time to lay what are you consenting it. So this this kind of digital world it becomes an extremely important especially the data privacy kind of situation. Next. So we have this you know previous less layer, paper less layer, cash less layer, consent layer. All these products being built on top of it. This is a broad picture of a robust scalable and interoperable low cost architecture. Next. So we are now having huge amount of transactions, digital transactions and we feel that you know India will you know we may not become rich nation but we'll certainly become data rich nation. So it's very very a few years that's and I think we should be able to use this this data for benefits of our citizens. Next. So a couple of applications about you know loans algorithmically which can be given using the credit history which is a digital footprints. So once you have more digital transactions then of course the credit institutions develop confidence in that. Next. So okay I will just skip through these slides. Next please. Yeah so essentially the point is that you know this can be used to provide loans and micro credits to to you know some small people you know they're not even a small enterprise. They are actually just individual enterprises, individual staff which these people are doing so they can get access to credit at low rates of interest because the problem the what we call poverty premium is that the more poor you are the more interest rates you have to pay to get a loan. So that's that's actually a paradox situation. Next. Yeah go ahead. So essentially this is the last concluding slide which is it provides a foundation for a number of innovations and reforms in public service delivery service delivery systems. The direct benefit transfer which means using Aadhaar as a universal financial address to transfer money. It has scaled up and and the Aadhaar delivery systems need to be deployed ubiquitously and of course we need to build you know we need to use this digital footprint data for probably many you know algorithms and AI and other kinds of stuff and of course accelerating the speed of deployment for applications not so much for now that the Aadhaar generation is complete we need to think of more and more applications and I think this this actually has has happened but we need to accelerate it further in a number of other areas. So that's all friends I have to say I think I've been able to maintain the time. Thank you very much. Now I'm open for questions or yeah well thank you so much Dr Sharma and this was an excellent discussion of this incredibly important project so before asking a few questions let me remind everybody in the audience that they can go to the Q&A button at the bottom of the website that you're looking at and at your questions and we will try to get to as many of them as we have time. Dr Sharma said two weeks ago I attended a FinTech conference in Mexico and one of the biggest challenges of many of the startups that I heard present is that they're trying to go after financial inclusiveness but you know in Mexico less than 50% of the population has banking relationships so they struggle with how to authenticate the potential clients of their services and as you said classic KYC is way too expensive. Now what I have heard is because of AdHAR this is no longer a problem in India and you have pure digital banking you have pure digital services that include everybody in the country from the lowest level of income to the highest can you tell us something about the use of AdHAR for digital payments digital money and inclusiveness. Yeah thank you very much I think it is very very important because if you remember the slide which I presented on JAIR the first thing was Janadhan the Jain and Janadhan literally stands for people's money Jan is people and Dan is money so it's people's money and this is something you know which are prime minister Mr Modi sort of a spouse saying that this is people's money and you know bankers typically used to say no nobody wants to open a bank account you know it's not the question of the supply it's a question of demand there's no demand but once it became easy for the bank because bankers were actually realizing that if the cost of opening a bank account was two dollars and the total money which was coming into the system was just about a dollar then why should a banker open a bank account it was not you know so ultimately it's related to the cost of you know cost of subscription put it this way to a system and cost of subsequent transactions so if the cost of one transaction for example if I draw money from ATM and if my cost of transaction is let's say a dollar then if I draw 50 cents it doesn't make any sense so bankers were losing money and bankers therefore were not interested in doing this business so two things happened at a regularly front the Reserve Bank of India gave license you know we came up with the concept of what is called differentiated banking which means all banks don't have to do everything which they don't have to credit and other kinds of stuff so let there be payment backs so we we actually gave license to 24 or 27 payments back in a span of two years which means the job only to do payment and we also told them be digital don't be you know paper based because paper based you will not be able to survive so what happened was then it became extremely easy because it became paper based to open a bank account in fact theoretically believe me I sit in here using my laptop or using my computer I can open a bank account because I can fill up what is called customer acquisition form digitally sign it and ask you know the UID authority of India to you know give the KYC to the bank after I authenticate so KYC to the bank goes the digitally signed customer acquisition form goes to the bank and the bank opens the bank account because that's what it needs so essentially the the magic was to reduce to a provide identity to everybody a digital identity and then secondly to ensure that cost of subscription becomes very low for the banks and thirdly to ensure that the cost of transactions also becomes extremely low so today we have a system whereby the digital transaction and mind you many countries in the world have developed what they call silo systems so for example Kenya developed empathize it's a great innovation I'm not so saying that it's a bad thing but what has happened is it can only communicate you know I can transfer money to another empathize customer not not to everybody so by having an interoperable framework we now ensure that whether you are in bank A or bank B or bank C you are able to interoperably transfer so that was another innovation so digital ID digital KYC and the unified payment interface all put together and use of mobile as a proxy identity it all you know today what's happening the the prime minister of India lost this UPI and and we lost what is called a reference application called B Bharat interface for money and using that protocol today google whatsapp a number of companies I think there are about 50 or 100 companies which have developed applications and which people are you know using and interoperably transferring money now google stage can transfer transfer money to B so any application to any application any bank to any bank that's the match and now the cost of transaction is nothing you know it just one entry into the database from where I am transferring money one entry to the database where I am transferring money to and the you know the settlement authority called NPCI and that's all so that's the that's the way it has been built actually yeah so that that's very impressive so let me get to clarify so if there is a poor person and let's say she's getting a government remit and social service remit and from the government we sad her that goes straight in her digital account and if she now wants to spend it by groceries the grocery is able to accept the digital payment correct and if and what if she wants to get some cash out where can she go to get some of that electronic money in cash for whatever she may need are there places all over the country that will do that as you as I explained to you if you want to get a cash out the typically the cost is very high cost to the banking system cost to the because the number of bank branches let's say we have about 200,000 bank branches but these bank branches they're not accessible what we have done is we have opened you know we have India has got 600,000 villages 600,000 wow and we have 250,000 panchayats panchayats are actually the lowest level of democracy you know electric guys are there and stuff like that so every two and a half villages on an average has a panchayat and in every panchayat we have something called a common service center this common service center is managed by a village level entrepreneur who provides all kinds of digital services because let's also remember that while we are going to have 500 million smartphones even then it is 50 percent of the total population 50 percent of the let's say 1 billion phones so there are 50 500 billion feature phones also where you cannot do digital transactions of course through the the UP you know that whatever USP or whatever it's called so essentially what happens is that this cash out part is done at the village level through the village of course cash out part can also be done with the guy who is actually doing the digital because typically grocery shop owner will be interested in attracting the customer so suppose I go and I buy I pay 100 rupees in digital part I buy 50 rupees worth of goods he may probably give me 50 rupees you know in cash also so sorry because because it's you know ubiquitous in some sense you know there's a bandaid that only banks should deliver the cash or only ATMs should deliver the cash and the amount is pretty small amount is very very small you must understand that the the average transaction size of the UPI transaction is about 10 dollars now that that's very impressive let me ask you one of the questions we got from our audience a Kintola asked how did that hard get the Indian government buying into the program so how did this happen no let me put it this way Aadhaar is a government project Aadhaar is not a private project so it's actually it was started by the government it has been with the government it's a government system only thing is we collected together a set of experts and you know initial people who are technology evangelists and stuff like that and that's how they built it but it's a public good it's a public artifact it's not a private stuff okay very good so that leads me to the second question by Ayobami Oladejo which is often governments when they want to do a program like these bring in very expensive consultants that don't know much about I don't know the condition to advise them what to do how did India how was India able to do this with such a solution so well designed for India who who were your consultants and experts that said Dr. Sharma this is what will work this is what will not work how did you do it it's an extremely interesting question because typically I have been in the public space for about 40 years now the smart of this year I completed 40 years and I joined at the age of 42 now you know the consultants have become the ubiquitous kind of fellows everybody wants to hire a consultant to prepare some report and then you know go about it right we did not go that consultant in fact we did not have any consultant whatsoever however we actually decided that this project cannot be done with without the you know with bureaucrats alone the guys who don't understand technology this project also cannot be done by complete technologists who don't understand public policy or who don't understand ground reality so the only way this project can be done where you combine the efficiency of the private sector and the you know knowledge domain knowledge of the public sector so so what happened this project was headed by Mr. London Delakini he was the chief of the Impost Infosys in fact he is the chairman of Infosys he employing him he was the chairman of this this project I was the director general and descent director so I was number two in some sense then we collected together a team of technology people and you know we got volunteers we got sabbatical fellows and we got all kinds of you know people and we also hired consultants but we did not hire we did not hire agency which could provide us consultant we hired the consultant directly from the market they made them a part of the team so this way it was a team and it was a very thin team let me put it this way total number of people was about 250 all told which is the field fellows the you know the private fellows the technology people and that's how we built because we realized and you know let's also understand that we began I joined for example Nandan joined the UIDAI on 24th of July 2009 I joined a week later but the first number was issued on in the month of September 2010 so it took us in months to actually design and architect and make pilots and other kinds of preparations rides environment softwares you know hire some of these of course we did hire the biometric deduplication agencies because we there's no open source biometric deduplication technology available but we had another interesting thing we hired three of them and we hired in such a manner that if one of them doesn't but we'll just unplug him and plug in another one and we did that in fact going forward so essentially we we were very conscious there shall be no banter lock in and therefore whosoever comes in we should have a plug and play kind of a structure we did not have any equipment locking also for example the enrollment equipment could be of any brand so long that it's at a certain minimum criteria it's fine with us so essentially this was the this was the thought process and I think there was nothing secret so that's why I'm able to you know talk about this in a very open manner because we don't have anything you know proprietary or secret about it except the biometric deduplication so that's why I always believe that India is ready to share this because once we have done it we will be very happy and let me tell you you know this is one of the most cost-effective stuff you can do and you can improve your entire public service delivery system today our is at the center of India's public service delivery reforms and systems so Dr. Sharma that leads me to a very important question you said you're now ready to share your experiences with the rest of the world now in the US we've been struggling with the issue of identity management and authentication I know you know the US because you you've got a master that you see riverside so what advice would you give us in the US at this point well let me let me be very frank and I don't know whether you like this or not no please please be very frank my sense is look Aadhaar is not for every country in the world or Aadhaar type of a structure is not for everybody you must have a problem to solve for example we had the problem of people without any identity document I'm not sure whether the problem is so you know big in US or in Western Europe or in many other developed countries but developed nations who actually have to start having for example you have national identity because a number in Britain you have other numbers so so broadly everybody's counted there in some sense so unless you are having people who are below the radar or who don't have identity you really don't have that problem similarly we had the problem of huge leakers is taking place because of the duplicates and course and I'm not sure whether you have that kind of massive problem in the United States so my sense is that unless you have a problem to solve you should not try to solve it I mean you should not try to solve it Dr. Sherman let me ask you and then I'll get I want to ask you about healthcare in a second but let me follow up on my question let's say in the US the number of people without banking affiliation I don't know it's maybe 15% or so however cyber security is a gigantic issue and you know based on my work at MIT and other places security and identity are closely intertwined correct so we may not have quite the inclusiveness issue but we have a gigantic cyber security issue can you just say a few words about ATHAR and its application to cyber security and next I want to ask you about ATHAR and its application to improve access to healthcare okay so first cyber security then access to healthcare if you may no I fully agree with you that cyber security is an extremely extremely important threat and one has to be extremely conscious of it so what we have done is a we have taken all these steps and of course we continue to take all the steps to secure ATHAR database that's one part because that's in our domain so one is that we have a fraud management system at the back end because a huge number of authentications are taking place every second so we are having those systems as to you know if somebody is authenticating from place X and next moment he authenticates from place Y and X and Y are so distant that the guy cannot be at two places at the same time then you know we kind of catch him so those systems are being deployed number one, number two we are using encryptions and other kinds of policies so when you unload for ATHAR your data gets encrypted in the last eight or nine years that ATHAR has been in existence there has not been a single instance of any biometric data having been leaked and we keep the biometric data offline which means at the back end when authentication takes place it's actually the minutiae of the features of these biometrics which are participating in this authentication and not the biometric itself number one, number two we have that DSN no system you know if you're authenticating if you're either the authenticating response is yes or it is no we don't disclose any information so many of these you know security and privacy aspects have been built built into the design of the project so that's one part I agree with you that other domains have to be careful other domains with interface with ATHAR ATHAR has insulated itself in the sense that the interface with the other domains is only through a well-defined protocol and we don't get more information than what is required and we don't disclose information than what is not required by then so essentially authentication as a service so we don't for example know what is the purpose of the authentication and that's that actually ensures privacy because it's a structure also you provide excuse me the ATHAR service provides to the private sector authentication as a service is that correct yes it does that's very impressive that I am very impressed I don't want to run out of time to ask you this very important question from Matthew Reeve which is if you can talk about how ATHAR will or already being used to improve access to healthcare in India I think what is happening is that there are a number of healthcare schemes which provide subsidies or help to the poor people so essentially at that point if you are eligible then when you go to a hospital in order to ensure that only you get the service and nobody else proxies for you the ATHAR authentication is used so essentially ATHAR can provide service to any domain which is interested in identity verification and authentication health is one such domain and to in fact a couple of months back our prime minister our prime minister has launched a very very massive program virtually covering about half the population of India into universal kind of health coverage which is called Aishman Bharat and there we are developing what we call India health stack and I can probably forward that document to you essentially as to what will be the health stack what will be the diagnostics the service providers and how do you create a registry of that so that of course is not directly related to ATHAR because ATHAR provides only authentic services but we have built similar to ATHAR similar to UPI we have built what is called India health stack so that describes various health related technology artifacts and documents Excellent Chris would you like to ask your question Yes thank you Irving and Dr. Sharma thank you very much for your time and excellent presentation I have two questions one is you chose to make ATHAR voluntary I would like to know what were the pluses the benefits and the drawbacks of that decision of making ATHAR voluntary as opposed to mandatory and tell me about the Supreme Court's decision are there things that you were doing last week with ATHAR that you based upon the decision will no longer be able to do next week I think these are excellent questions Chris and let me first tell you to this issue of voluntary versus mandatory so we issued a broad strategy paper as long back as in August of 2009 thereby we called creating unique identity for a billion Indians and there we deliberately said that if you know because it's an identity without eligibility so if that means identity which does not provide any kind of assurances what you will get what you will not get so we said look if you make it compulsory or if you make it mandatory this will not be acceptable to the people so let those people come first who don't have any ID papers and who need identity let people come and get this document otherwise if you do this mandatory business then what will happen is that you know you have to have the approximate facilities to do that and you know you have to have a timetable to complete that anybody not there you will have to punish it you will have to notice him and all that stuff so we didn't want to get into that route however in the document we have said that while ATHAR is voluntary if any domain for example any subsidy delivering agency if it wants to make it compulsory for their own domain they may do so at their own convenience and time which means that suppose I've got 100 beneficiaries and if 95 of them already has ATHAR number then I can say look I will provide you you know these services only after verification of your identity that those five guys who don't have the IDs please you know get yourself registered so you don't go to the entire mandatory stuff for the entire population you can actually keep on mandating it from domain to domain from sector to sector from department to department so that's one part secondly the question you know we are still studying that that judgment of the ultimate supreme court which actually came last you know about 24 hours back that judgment runs into 1500 pages 1448 to be more precise and and there's a dissenting judgment so one judgment is four judges you know three judges one judgment one judge another judgment which concurs with these three judges and the fifth judge is dissenting so all these we are studying but broad part is there's a section in the ATHAR Act called section 57 which actually says that it can be used by corporate and private entities and you know you asked that question just now that whether ATHAR is being used for private but private entities or not and I answered that in yes but there is some doubt now because whether the private entities can insist on ATHAR A and whether they can use the authentication service of ATHAR is another question however the supreme court has left a caveat saying that if the government thinks that these entities should use ATHAR government can actually incorporate that into the law so for example you know income tax there's a money laundering act and income tax you know says that we should use ATHAR and therefore that is covered so that is incentive but banking for example banking maybe there's no regulation or there's no rule which says that you should mentally verify your identity through ATHAR so maybe they will have to put in some regulation so essential idea is that each sector regulator or each department will have to ensure that they have a proper legal backing to actually utilize the system that's the difference which has happened and I'm sure the government is cognizant of the fact because today itself I'm a telecom regulator and my telecom companies are now saying look our cost of customer acquisition will go 10 times because currently we are acquiring a customer and just about 2-3 cents US cents and tomorrow our customer acquisition cost will go 2 dollars so it is it is going to be huge so now you know what do we do because today they are using electronic KYC tomorrow they will use those the paper documents so so I think you know we are still studying the judgment and there are certain sectors for which we already have the law there may be certain sectors for which we don't have the law or regulation law does not mean a law related by parliament law also means some of the legislation by the regulators like like TRAI so I think that's that's what it is but it's too early really to give a definitive answer to your question because we are still studying the judgment but we are very sure whatever the judgment is because the judgment very clearly says that you can have you can do this with a legal backing and that I think sectors will be able to do it thank you very much and Dr. Sharma I want to thank you as well we've run out of time we really appreciate this it was a fascinating presentation and we'll remind our viewers that you can download the recording on our CGE YouTube channel and I know there's been a request for some copies of the slides so we will send them out if that's okay with you that's okay with me excellent thank you very much for your time we really appreciate it thank you very much friends it has been wonderful talking to you and you know sort of I feel so passionately about this project and what it has done to the country and therefore I feel a pleasure in you know kind of sharing this with all of you thank you very much thank you thank you bye bye


Zvuk je divinacija. Zelo smo nekaj del, da je divinacija, ker, zelo, tačno, tačno divinacija, ali in in vseh, je vseh vseh, nekaj revači v 1960-jih. Vseh, da je divinacija? Vseh, da se je početno, taj, da se je vseh, zelo, da se je zelo, zelo, da se je zelo, zelo, da se je zelo, da se je zelo, is not divination, divination, which was of course very important part of life in the ancient world among the Greeks and the Romans and so forth literally meant consulting the divinities for advice. Now, I don't know whether you believe in divinities or whether that make much sense after most of us come from a monotheistic background. But let's say the issue is that there are in nekaj nekaj, da imamo sve in nekaj. Če bi smo pričili, da bi smo taj, da bi smo pošli, bošeli, da bi smo pošli, da bi smo pošli, pošli, da bi smo pošli, da bi smo pričili, da bi smo pošli, in zvukovati z naši vljah. If we learn how to avere ourselves of such guidance, our life and our consciousness is thereby considerably enriched. That is the whole essence of divination. It is not really and primarily what is going to happen in the future. And so one begins to look for the signs of guidance, and these signs have often been organized into particular modalities. Like the ancient Romans, for instance, who learned a lot from both the Etruskans and from the Greeks and otherwise, were full of divinatory methods. Whatever they looked at, they could use for divination, the flight of the birds, the flowing of the water, everything under the sun. But let's say in the Golden Dawn they used to a great extent the taro cards, which were almost unknown at the time. The Golden Dawn were the people who, the first people who really brought into use among Western peoples the Chinese Oracle, the Yi Qing, or Yi Qing, the Book of Changes, Geomancy, which is a much simpler form of divination, and of course also astrology. Why did they advise the use of these things in order to refine the sensitivity, the magical imagination of the person? Someone who becomes affinitized toward the creative use of a divinatory modality will have developed a sensitivity toward the imaginal world, and the imaginal world is not imaginary in the sense of non-existent, but rather it consists of images, the images of various realities which are in that great intermediate area between ourselves and ultimate reality. Another preliminary exercise that the Golden Dawn


Okay, so let's do this one. This one is really similar to the last one we did. A solution was prepared by dissolving 12.4 grams of sodium nitrate and water to produce 95 mils of solution. What's the parts per million of this solution? So, PPM equation is almost exactly the same as the weight volume percentage equation. So PPM equals mass solute over the volume of solution instead of 100% though, it's times 10 to the 6 PPM. So now all we gotta do is plug in these numbers. So the mass of the solute is 12.4 grams. The volume of the solution is 95 mils. The three safe things, so it's going to be 1.10 to the 1, 2, 3, 4, 5. If it's parts per thousand, it would be 10 to the 3, right?


Russian regular forces are forming airborne assault brigades that will act as specialized units for landing and reconnaissance behind Ukrainian defense lines. According to the Institute for the Study of War, the report states that this is not a new concept for the Russian army. As similar units operated during the Soviet intervention in Afghanistan, according to Russian sources, airborne assault brigades within ground forces will be able to conduct landings in the immediate rear of Ukraine. Without parachutes, possibly using helicopter landings for rapid deployment of personnel, as was the case during the initial battles for Hostamel Airport near Kiev on February 24, 2022, IT is noted that such a unit is already operating in the Zaparizhe direction, the 49th Separate Airborne Assault Brigade is part of the 58th Combined Arms Army. The Airborne Assault Brigades exist in the modern Russian army as part of the airborne troops. So Russian ground formations may indeed be attempting to create these formations .ISW has previously observed instances of forming reconnaissance assault brigades within general purpose formations and assessed that the creation of such specialized formations is intended to address specific tactical challenges faced by Russian forces in Ukraine. However, the deployment of airborne assault brigade separate from the broader structure of airborne troops likely signifies that these specialized brigades will be used as another means to conduct exhaustive frontal attacks led by infantry against Ukrainian fortified positions in the short term. The report states, additionally, the report notes that a well-known Russian military blogger has complained about the unjust treatment of units comprised of conscripted personnel, as opposed to regular Russian military contracts servicemen. The servicemen in the Russian Stormzy units do not fall under the jurisdiction of current Russian military legislation and, therefore, do not have the right to similar privileges as contract servicemen.


One of the simple things you can do, one, is land and keep your hips between your feet so that you have an option to transition and move on to the delivery foot and turn. Hey, what's up, guys? It's Eric Johnson from Airtate Throws, and in today's video, we are going to talk about what is making that full throw so difficult. Now, we just got back from doing five of our six summer throws tour where we go on the road with the throwing chain reaction system. We teach people how the six-pillar system works and how to find out exactly what's wrong with their throw. Now, how many of you watching this video are having a hard time with the middle of the throw, and do you know that you're having a hard time? And hopefully what we're going to do is show you today three to four reasons why you have a difficult time, and that's going to help you start putting yourself on a faster track to success. So be sure to throw that in the comments below, and don't forget to do all that fun YouTube stuff, like, share, bang, kick it, whatever you got to do, turn on your notifications, and that helps support the channel so we can punch out more videos like this. Okay, so what was the most common thing that we ran across? The transition. So, again, when you come to a throwing chain reaction camp, we're going to teach you, again, we teach the system is meant to teach the mechanics of the throw. Have athletes learn a better understanding of the throw. So, as we teach pillar one and two, right, we teach pillar five, six, there's a point where we're going to teach that connection between the start of the throw and, you know, connecting and getting into the power position. So when we do that, one of the things that we tend to do is get to this point and we rotate here. Now that position tends to be very difficult. Now one of the things we commonly talk about is the throw happens fast and the throw is super unnatural. So all the mechanics and the things you're learning, you're learning how to turn yourself into a throwing machine. It takes time and it takes reps. You got to do the right reps. So here's three common mistakes we came across. So one of the things that we did was a simple line drill where we would just kind of step, have athletes turn and they step here and they step again and they kind of turn and they try to do this motion, okay? So what we found is what we would see is a lot of this, this, you know, this stuff, they're kind of off balance and there's a lot of different reasons. So number one, we did the drill just the way our camps work is we teach, right, you drill and you throw. That's always it. If you came to camps years ago, everything has constantly changed and so we are literally throwing within about 15 minutes of camps starting. We've got implements in our hand and we're learning concepts and applying. So one of the difficult things is this transition because when you're throwing, right, and you get here, getting into that full throw, that little transition piece is something you need to work on because the throw is unnatural and it happens quickly. So we call this pillar three where we move in here the sprint and we're moving in and as I turn in the air because I can't demo floating in the air, I'm going to slow down the upper body. Discus is going to be going to the high point. I'm trying to maintain this nice T position and I'm going to rotate in and you're going to notice my shoulders are here and my lower body is here and that's what we want when we get to the power position. We want that separation because we want to be able to hit it and feel that nice big slinging nasty pull. So here are three things that we saw. One, when we teach athletes the simple line drill, we have athletes as one stepping and landing on the toe. Now we always tell people in a real throw, of course you want to land on the toe, but you're going to be turning the foot closer to 12 o'clock. All the best throwers in the world may, some of them may have touched down early, but they don't load the toe until roughly 12 o'clock. So some of the greatest of all time, Lars Riedel, Robert Harding. And if you look at the top dudes in the world now, Christian Shea, Meekalus Alekna, Daniel Stahl, Simone Peterson, Matt Denney, and Lucas Weisheidinger, these guys all land and that foot doesn't load until it's pointing to about 12 o'clock. So now that being said, in a regular throw, we don't want to turn the foot like this. We are trying to teach how to step and we're teaching how to turn that axis. So it's a combination of the left and the right. Now, so that means one of the simple things you can do one is land and keep your hips between your feet so that you have an option to transition and move on to the delivery foot and turn like I just demonstrated. So the second thing is that what happens is we always have athletes put their hands on their hips and then what you see is this. You see a lot of turning of the upper body.  And you can see how I shift off of the delivery leg. So that's the second thing, turning the upper body. You want to learn how the lower body just moves the upper body, especially in the discus and into a certain extent it's going to be doing that in the rotational shot. And we'll talk about this in another video for a rotational shot. So the third thing is looking down. The athletes see a line. They should be looking down the line and putting themselves on the line. Not looking here. And you'll notice when I show you that, I'm moving my hips when I look down.  Now the toughest thing, that's just the three mistakes we see with the drill. So number one, keep your hips between the feet. Number two, don't turn your upper body when you step. And number three, keep your eyes level and look down the horizon. If you're stepping and doing a line type drill, then you want to just make sure you're looking straight down the line. And then when you throw, the challenge becomes holding the discus. And that we'll talk about in another video as well. Maybe we'll make that part two. This helps you guys. So coaches, we see a lot of this kind of basic stuff. We're trying to get athletes to do the drill and just catching the head position, just keeping the head up and moving keeps everything better. Or keeping the head up and making sure when the head's up, they're going to be less likely to turn. Most of the time you see the chest turning and the eyes going down and that's what turns the upper body. And like you said, we see a lot of times taking too big of a step or stepping and trying to turn, which is going to create a back in and that's a subject for another video, which I think we've already done, but we'll probably do one again. And there you go. So three things that are simple, that are making your transition to the middle of the ring into the power position difficult. And this is absolutely something that makes learning the full throw challenging. But this is why time and time again, we have always dozens of athletes who will come to the camp that are new because we invite from new to to advance. And our beginning throwers will always put together a full throw by the end of the day. Some of them are better than others, but the point is they've understood. And now it's just going to be about working the right type of reps to help them achieve better technique faster. So hey, remember, if you guys want to learn more information about how to put the throw together, how to learn the throw, find the formula that works for you. Check out our link below for the throwing chain reaction system. Remember, if you guys have any additional questions, who of you guys out there are already doing some of these mistakes? Put that in the comments. And if there's anything else you'd like to see, let us know. But do all the YouTube stuff for us, like, subscribe, turn on notifications. And we will see you on the next video. See ya.