A very good afternoon ladies and gentlemen. I know it's going to be a little tough, but after that sumptuous lunch we focused on the stage and we are in fact discussing an interesting topic because what we have seen in the last 15-20 days, I mean the way our finance minister has been calling all the fintech founders recently and all the regulatory which is happening in this space. So it's very tough to keep innovation going at fintech companies when the regulatory environment is difficult. So that's why we thought to speak to these esteemed panelists today. We're going to talk about how difficult it is to look at innovation in the current macroeconomic situation and also talk about how technology plays a major role in a sector where of course money is the governing factor. So I'll just give 30 seconds to each one of you to just quickly introduce yourself and then we'll get into the discussion mode. Sure. I am Prajak Deval Singh. I am CTO at Tertlement. I've been an entrepreneur myself before coming to Tertlement. I've sort of worked in a variety of spaces from search and crawl to building developer platforms and locations before doing fintech. Tertlement essentially is a B2B2C platform for insurance distribution. We are a pan India, both general insurance and life insurance. We built a large agent network of more than 3 lakh agents who distribute insurance to their customers using our platform. So that's it. Thank you. Thank you for inviting us. My name is Veeradhar Yasa. We are a full-services platform for specialization. We have automation, distribution, critical lighting, post-services and collections in the platform. So what can we operate in each segment of the industry? Hi. Very good afternoon to all of you. So my name is Kaapik and I'm CTO at Karidbee. So what we do at Karidbee is we provide fintech services for all the customers all across India. It's more of a B2C platform. We have been operating in this space for almost 7 to 8 years. We have been a part of the digital journey of basically fintech when it started and we are still ongoing. I think we are having a fantastic journey till now. And going forward also I think we hope to basically ride the fintech wave that's going on. Thank you. Thank you. So first and foremost, as I was discussing earlier and that's the topic which you want to discuss today, I want to bring your focus on the current regulatory environment. And what is your take? I mean where does this hold this lead to the fintech sector overall? I want to understand your opinion. Let me start with you. Look for us in the insurance category. I think the regulatory changes have been a lot of positive regulatory changes in the last 5-6 years, frankly speaking. The regulator is very consumer focused so protecting consumer benefits is what their focus has been. But they have been also expanding in the private sector, private categories to expand the category to go deeper in India. Especially tier 2, tier 3, smaller towns, lots of innovations. They have been triggering lot of innovations. So in my opinion regulatory environment for treatment has been fairly good, very encouraging. There are I think the challenges from a technology perspective what happens is that it's such a evolving space and the changes sometimes could be significantly larger. So from a tech you need to respond to those fairly quickly to get real benefit out of the changes which are happening. Positive and negative both. And I think that's probably been the biggest challenge from an insurance regulator perspective. And then there are other sort of regulatory authorities who have also had significant changes in the way sort of streamlining the way the distribution is happening, the way sort of sales is happening. A lot of, as the digital sort of medium for distribution is increasing, sort of how do you bring transparency in that, how do you keep data, how do you maintain data with things like DPDP coming in now. All of those have sort of brings in lot of, the pace of change is significantly higher for tech. And I think that's probably been our biggest challenge in terms of how do you keep up with that and how do you be ahead of others in this category. Keeping the tech employees at the toes. I think we have a very progressive regulator right across insurance, across banking and capital markets. One of the important things with regulation is that at the end of the day it's trying to protect the customer and ecosystem. And avoid any large kind of imbalances in the ecosystem and also protect individual customers. It covers this entire spectrum and we have to respond to that. And typically if you are principle based and there are three or four of those, one is that you don't enter in normally. Second, you are very transparent. And third is that whatever you are doing, you have to be upfront about it. And this covers insurance, this covers banking, this covers digital funds and stocks as well. If you stick to these principles, then as an organization, anyone who is sort of trying to play outside these principles tends to be in trouble. So I think that's the way I look at it. Yeah, I think pretty much I would be echoing some of the thoughts what has been already mentioned. See, as we see as and as was mentioned, so the regulator here is pretty strong as in terms of basically in terms of the regulations that are there. I remember a paper which I used to read in my university days. It was called the more you don't syndrome. So what do you do basically when you have a gap in the divider and you don't have any directions what to do that. If you look at, for example, in India, people who do all sorts of things, but let's say take a country, for example, like Singapore, they would only follow what are the instructions that have been posted at the divider. If nothing is that, they wouldn't take a U-turn, they would just keep going straight. So similar to that aspect as in here, at least in the fintech space, there are certain regulations which are there in terms of basically the space that we are working on. So we have to basically, the RBI is doing all the regulations and with basically good intentions of the customer in mind. So we always have to keep in mind that customer is the number one priority. If you are able to keep it in mind, I think the rest of the things will fall into place. If you try to stretch the rules basically beyond normal reasoning and then English is a fickle language. So you can interpret one word or a lack of a comma or things like that in multiple different ways. You would definitely have a backlash effect later down the road. Even the regulator basically takes a consensus of that fact and the fact is that they do lay a lot of breadcrumbs along the way before the final ruling comes. The idea is that when the breadcrumbs are there, we have to get an idea as to what is happening. So all the fintechs kind of know this because all of us are basically interacting with the regulators on a, maybe not on a day to day basis but at least on a monthly basis when interacting with them we get a feel, a gist of what the regulator understands. But if you are blind to that aspect then you need to basically reap what you sow. Then SROs are there, so there is a collective thought which comes up and based on the collective thought you need to understand what the direction is as in that is there. And generally keep the customer in mind is what it is. Because finally if you look at it, I wear two hats. I am probably an entrepreneur but I am also a customer to basically a lot of other services. So I would want my data also to be treated in the best possible way and I also should treat the customer's data the best possible way. So that is on the regulatory aspect. The tech aspect is basically given fintechs obviously we have been able to respond very fast for all the basically concerns that have been there, whatever the changes that needs to be done on the technology platform. The idea is that basically you need to plan ahead and then have the levers in place at least in the tech aspect so that you can what we call it change the levers as you would say. In terms of tech parlance it is more like change the DB flag or go and change something here or there and then so that basically whatever intended action is supposed to happen you can do it. A good example is recently and another thing is that the transparency aspect which was bought, a good example is the KFS document. Earlier as in the fintechs we were never showing a KFS document but now we have to clearly spell it out to the customers the facts, that is why it is called a key fact sheet. So these kind of things are making it more better to the customer. The customer is also in a lot of ways well informed because these days communication you know one WhatsApp group is there and then the groups are linked the message forward and generally any news gets better across the world in less than a minute. So it does not really make any sense to hide anything. So at least from our side we have been very transparent in a lot of things so that has helped in basically continuing our business without any major hiccups with all these aspects, regulatory aspects that are there. And we are also a bit conservative in terms of interpreting the language that comes out by basically getting multiple legal consultations from the lawyers.  And they will also have the general idea and they will give us a good view and it generally makes sense to follow all these thoughts in a proper way rather than interpreting it and stretching the rubber band more than what is expected. Thank you. So part of the regulatory changes which keep on happening and the challenges there. There are a lot of cyber threats of course involved in the 20th phase particularly and I mean how you as tech heads of your respective company keeping it in the safer side of the consumer and keeping the data particularly in the safer hands. What kind of steps you have been taking and what kind of investments you have been doing in the tech domain? So security is kind of like the number one what is that aspect in our organization. It has been probably depending on the size of things that could be different priorities but it needs to be at least amongst the top one or second basically priority right depending on the size. Because after a certain point in time you know there are only few existential threats which an organization can have and data is close to a basically maybe not a full 100% this thing but it is very close to kind of a threat over that right. So security is an important aspect that we look at. The other aspect is that basically we have been as we come into the RBI aspect and then the regulator has had a lot of guidelines with respect to IT guidelines and all those things. But recently the certain and all these other bodies have come in which have expanded the overall scope of the activities from basically just some of these regulated entities to basically pretty much the entire domain. And even the DPDB bill that is that has kind of basically brought in all the organizations which deal with data in any ways basically under the pursuit of under the capitol of basically data security and basically the repercussions that can have with respect to not taking it in priority right. So obviously it is very important right and again here ideas begin to be conservative in terms of what you do. So generally as in data security has got well-lit rules right as in terms of handbook that you have to follow. So the idea is that you need to have a handbook and you need to follow it to the top 99% of your issues are solved right as in so a process handbook or a security handbook is very much important. And let's again try not to dilute it over there so you would basically not have any basically leaks or anything later on the road right. So that is one thing obviously technology also plays an important role these days in terms of SIEM which can start looking at all these logs that are being generated across your various systems right. As in for example your APIs and then your data access patterns and all those things. Logging becomes very much important because in case of an issue or an event you need to be able to audit what has happened. So auditing capability needs to be done across the system right and these days the audit logs are basically forwarded to the SIEM systems which can give you an alert as the system as they even happens. So I think that's very important now. I think as far as security is concerned I mean there are tried and tested methods right and first and foremost you have to be really good at implementing those. Second is you understand your business and your systems better than anyone else. And hence doing a constant threat modeling right with an intent of protecting the customer right is where you have to invest continuously. Now even nothing is perfect right so there will be holes everywhere. But overall if you have multiple layers of security I mean it sort of becomes like a Swiss cheese right. There are holes but then the entire cheese if you look at it is a solid block I think that's through it right. I think that's the way to sort of look at it right. You need to have sufficient guard rails at each layer to make sure that nothing passes through right. And then you know you have to respond really quickly. So being very systematic you know establishing and implementing the tried and tested methods very well and then making sure that constant threat modeling right is where you should focus on. Hello I think with the category that we operate in all of us definitely a lot of sensitive personal data for customers which is just required for the business that we are in. There is no sort of getting away with that. At the same time because there is a sensitive data that we are operating with we have to be very very careful in the way sort of we are handling data. And I think it's a combination of tech and the checks and balances that you create in the system at every layer. So at the critical sort of junctures where the data has to be handled you need to have good controls and good processes both automated ways of looking at it. And also the manual checks and balances to sort of make sure that make sure that the whatever process that you are putting in place is actually effective and working. And it's basically a edge that you are working all the time. On one side you need the business to operate seamlessly. On the other side you have to make sure that the data is protected. There are standard sort of card rails. I mean if you just follow just the basic standards well I think large part of it is taken care of. After that it's basically you have to do a little bit of testing here and there, do some on the spot testing, check your controls, separate the ownership and sort of the authority who is responsible for different data. If you do that well I think you are fairly in good state. Also there are lots of products now. I mean of course on the cloud environment, so basically two environments right, there is a cloud environment and then there is the edge devices. Both you have to sort of look at it separately. On the cloud environment there are enough tools now to do stuff well. And you do your audits regularly, you do the certifications regularly. I think that pretty much takes care of most of the issues. Even after that you will have some or other sort of concerns, address them quickly. It's the speed at which you address the issues is essentially sort of important. So we've done enough, I mean we've done alerting and monitoring. There are specific people who are responsible for looking at alerts. Make sure that there's no noise in the alerts so that only the high-fidelity alerts are getting addressed and coming to write set of people. I think a lot of it is just basics and common sense but I think that takes care of most of the challenges and issues that come in. I'm actually helping all of you in regulating it and helping with cyber fraud detection. To an extent, yes, I mean running the business for sure. Our entire credit underwriting for example is model driven. And I think when it comes to cyber security for example, that is not our core specialization. But the products that we use and the technologies that we deploy for cyber defense, they do involve AI and machine learning. Not probably generated yet but yes, I mean there is model driven anomaly detection for example. There is identification of patterns and there is this point of view from a very perspective that we deploy and use. Yeah, I think as in the code expert is obviously not security but we do have a proper security team there. But it's more of the leveraging on the product that we use which in turn uses basically machine learning and probably these days the modern name for it which is AI and like whatever it is there. So it helps in basically logs and log analysis and pattern recognition across the logs to identify if there is any deviation in the way in which the systems are being accessed kind of thing. So this is again where we call it as a SIEM which is slightly bit more advanced with the traditional logging systems where you log it and then post an event has happened. You come and see, try to see the log and then try to decipher what is happening. But in this case basically the what do you call it the partner security system would be revealed the logs on a millisecond basis or close to a few seconds where the logs come to them. So basically looking at the access patterns and basically highlighting them. Obviously the systems are also basically you know each customer will have different logs and the pattern of them will also be different. So you need to be ready for a bit of a basically noise there in terms of certain things being highlighted. That's why the proper SOP team having which is monitoring at 24 bar 7 is important. Again it depends on the scale at which that is there. As in we have dedicated SOP team as you can also leverage the partner SOP team etc. So multiple strategies there but idea is that you have something running that at least so that the systems are alerting and then you take action rather than you post event action. As in this is more like a preventive rather than a reactive action basically. So alerting tools and basically these tools which use this machine learning and modeling and AI to understand the logs and basically learn and tell you that some changes happening system is always good to have. Yeah I mean we use some tools in SIEM essentially at the scale of the data that you are looking at without machine learning and pattern detection. It's just almost impossible to sort of identify any threat. So the SIEM tools that we use definitely do that. We also from a sort of certification perspective sort of managing the evidences and we have to sort of go through quite a few audits by different authorities throughout the year. And the questionnaire may be different but the evidences are fairly similar. So we use a product called Sprinto to collect all the evidences, keep it at one place and kind of make it available to different auditors in the format that they expect. So there is some sort of structure to the madness which you need to sort of this actually generates and this is a throughout the year activity. So between the tools which are available on the cloud, public cloud that we use, the tool like this and SIEM. All of these places there is a little bit of machine learning, it's just there, just very part of it. Any new tech tools which all of you must maybe are experimenting with right now which you think are further going to bring in more changes, revolutionize the industry further? I think I mean not in cybersecurity but of course in other places as the large language modules are becoming more and more prevalent. I think there are a bunch of use cases that we see. If we look at our business, it still involves a lot of human interaction from the time the customer shows interest into the product that we are offering to all the way the policy is issued, especially in the health and life category. The product collaterals are actually very technical which the end consumer actually do not understand the technicalities of the insurance. But sort of those are required from a regulatory perspective and just the way those products are structured. We are experimenting with actually, I mean some of them are in a fairly advanced stages where the newer technologies on the large language module and deployment of those either to sort of automate some of the human interactions. And then the summarization use cases of course where there are large techs sort of converting that into a simpler English and making it available to the customer. So I think there are definitely, we will see a lot of use cases which are getting built and will be built both on the servicing support side and on the sales side also. Of course, develop productivity is another area where there are lots of tools which are getting used and experimented. I think yeah, there is quite a bit happening, right? I mean qualities for example, one big area for us, right? And the conversations that someone is having say with a sales agent and a customer or someone who is negotiating an industry or amount or someone who is having a conversation with a credit manager when it is not straight through process or someone is having a collections call, right? There are a lot of aspects of it which are, you know, wide range and it is pretty much impossible to understand how good the conversation was. The customer promise to pay, at what point in time they promise to pay, right? I mean are we losing business because of certain behavior issues or the way we are pitching the product. All of this, right? Automated speech recognition, identifying of moments, understanding the sentiment of the customer. A lot of this, you know, we have started experimenting and deploying some machine learning and AI there as well. Post dispersal customer servicing for example, right? There is some bit of it there. We also have to be very, very careful, right? I mean, you know, there is coverage as in, you know, what population of your conversations or what population of your customers can be covered through that. And what are the use cases that are covered? And, you know, is there any danger to it? You know, you cannot accidentally respond, right? I mean, for example, hallucination, right, with some of the new models, right? I mean, that is not done. And regulator also says that if you do something, you'll have to explain why we are able to do that. So just saying that I've deployed this model and the model said this, I don't know why, but that is not allowed. It has to be transparent. So those are some of the guardrails that we have to take care of, but definitely a lot of use cases are working. Yeah, so I think obviously this view would basically broadly classify this into probably three buckets, right? One is basically underwriting and then maybe four buckets underwriting, fraud detection, operational efficiency improvement and developer efficiency improvement, right? These are the four broad areas where we primarily run our, basically, whatever the new word of AI basically that is there. So in terms of basically underwriting, I think we have been doing this for quite some time. As in pretty much all the fintechs do this because the sheer number of customers that we basically provide the services to requires the fact that at least you need to run it through these systems to come up with basically some decisioning aspects. But the idea is that obviously there is a manual oversee on top of basically what the system is deciding, right? And there is a monitoring aspect and then there is a comparative aspect also which happens as to in the sense that they would be running through a lot of different models, but you would be basically having different models, giving different outputs and then you are trying to understand why each one is behaving as it is and which one is behaving the better, right? For example, certain events basically can change the customer behavior and all those things. So getting these things to be understood also important, right? And the model might not be aware of such a thing, so you need to have a human oversight, especially in these aspects, right? The second in even here, what happens is that the model doesn't take the 100% decision, but it's more of a supportive action that happens with respect to what we do, right? So this is something that you can do and then we decide based on whether to go ahead or not based on certain parameters. The other one is with respect to what detection, right? So obviously in terms of, you know, the face comparisons and all those things, we need to do a lot of these things, especially because you cannot have an agent sitting manually, but I'm checking each and every customer's face against his ID faces and all those things. But there has to be again thresholds where you are able to basically identify what constitutes what and basically push them to a manual bucket and then get them done. So definitely a lot of work there and a lot of work on in terms of basically looking at the data and all those things. Customers are also getting innovative, you know, as in I think all of you would have written news about, there is this some town in Rajasthan where primarily a lot of people are involved in this, this is their prime business. So the idea is that with all these things you will have a certain set of people who will be looking at trying to get an advantage of basically the systems that we are having. So definitely these systems help in identifying such patterns and blocking them basically at the onset itself, right? That is the second thing. And the systems are getting better, right? As the technology improves, definitely the systems are getting better. So that helps. The third thing would be in terms of the operational efficiency. So as we said, customer support and obviously tele sales and all those things are places where you can enhance augment the productivity of the agents and that is how we are looking at it. As in we are not looking at it as a replacement tool but more of an augmentation tool where basically 1x can become 1.2x or 1.3x. So that basically on an overall we kind of increase the efficiency of the entire organization, right? The fourth one is in terms of developer productivity. I think in terms of basically the, at least in Bangalore and I was also talking in terms of the salaries and the cost that is paid to the developers. This is basically a very negligible cost to basically put it on to the, give it to the developers so that efficiency again can improve that. And then the idea is that an engineer who is coming into the system newly can he become productive in two weeks rather than one month or two months or something like that, right? That's what we are looking at and even the members were existing. How can they review their code faster? How can they look at search for bugs or understand a piece of code that has been written, summarization of the code, etc. These are all various different aspects that these technologies now do very well. And the idea is that again increase the efficiency from 1 to basically 1.2, 1.3 where you get massive scale of benefit across the entire base of people that are obviously there in your organization. This in turn will lead to better customer satisfaction and also being able to release products at a faster pace. So it is more in turn, more feedback loop which keeps coming in and then as you find these things, definitely it's for the betterment of basically customers and organizations. This is how I would look at it. So before I throw in the floor for audience questions, a quick comment from each one of you. What actually do you perceive as the future of fintech in the current times? I think if you look at insurance, the market size itself in India is so huge. There is a very small percentage of India today in short. So I think just the category is just very, very large. And I think in short text, just because of the size of the pie, it's going to keep growing and growing. That itself is a good sort of growth factor for the category. More than that, I think also more tech as we see deployment of more devices, more imagery. The whole ML side of things of processing some of this data and ability to make some certain decisions, whether on the sales side or on the claims side, all of that. I think in short text, I think has a very, very good future in India. Both on the production side of manufacturing newer kinds of products, more personalized products and also on the distribution side of reaching out to larger customer base in India. Like for an example in India today, the postman who, there are 350,000 postmen across India. The India Post Payment Bank, which was created as a sort of semi-private entity, they're leveraging postmen to do insurance distribution across India. And we are seeing, so Turtlefin, which is our tech platform, powers some of that. And we are seeing small ticket insurance products getting distributed in the remotest parts of India and massive scale of those kinds of products. See if you have to be a multi-trillion dollar economy, technology is the only way to do that. And I think there is no alternative. It's an imperative. And financial inclusion is a big thing for the country to grow. And the only way to grow about it is technology. I'll give one personal example right from Lightning Card is that we deal with small business loans and we cover about 5,000 towns and cities and locations. Now in that 5,000, there are small businesses in 4,000 and a one-way trip for them to a bank or an MDFC is 20 kilometers. The rest of the 1,000 are within the 20 kilometers. So even if someone has to go submit an application for a loan for running their small business, it might be a cloth shop, it might be a big making outfit, it might be a jaggedy thing. They have to take at least a 20 kilometer. They have to close their business and they have to travel 1 by 20 kilometers to be able to do that. And it's a multi-stage process. I mean there is a real impact of technology there. And I think, and this is one very small example, you barely scratch the surface. And if you have to become a multi-trillion dollar economy, this is the only way to grow about it. I would sum it as basically democratization of the services that are available to the customers. So as we just said, the good example is this 20 kilometer trip. And there is no way basically in the traditional space of basically how some of the systems run that you would get any service done in the first trip itself. So this is where the democratization happens, be it in terms of fintech services. Just to give you, if you take two steps back, the actual democratization started with respect to try when 3G and 4G basically kind of, the bars were set to such a good level that basically all of India basically switched over to that. That's basically the basic foundation. On top of that, I think another good example is UPI where payment space, five years back we were nowhere, probably a small spec, but now we are pretty much competing with China or basically in terms of number of digital transactions that happens on a daily basis, right? And that too on an open platform, right? That's where the democracy aspect comes in. And further to that, basically the next level of basically the services that comes is financial services like what we provide, insurance services like what is provided, right? Wealth tech services, market services, all of that becomes democratized, right? It's very well seen in the number of D-MAT accounts that are being opened and in terms of basically the new basically insurance, basically the number of people who are getting to the insurance space, the customers basically getting insurance, right? So all services are getting democratized. In terms of wealth generation, as in D-MAT accounts, then market products like probably NCDs and all those things which there are some platforms which offer, which is available to all of them basically on the mobile platform and none of those would have been possible without technology. And given that we have such a solid base of basically digital, this thing of basically wireless UPI payment space and that basically fintech space on top of that, I think digitally India is going to be kind of like a flag banner across the whole world as we have seen as we are exporting already UPI to a lot of other countries. I think soon you would just not be basically constrained within India and then move on across the rest of the world. Just to give an idea back in 1600s, the GDP of India compared to the entire world was almost 30%. I would say that we would be reaching similar levels at least. That's my wish to basically reach at that level where we are at 30% of the world's GDP. Thank you. On that note, the floor is open for questions. If anyone from the audience have any questions for any of our panelists, please raise your hand. The mic will be handed over to you. Sunshack. Ladies and gentlemen, we are opening the forum for question and answer session. We will be taking about three questions for this session. Which are the audience? Thank you. Thank you for such an insightful session. Question on, we spoke a lot about AI and ML models. And I think there was a mention about threat model. Okay. So there was a mention about threat model. Are there still any use cases which we feel are still not very future proof in terms of, let's say, secure? Which can still pose a rest to the fintech industry or fintech as a whole. I think there are still a lot of issues on the underlying secure supply chain also which has to be addressed. So some light on what kind of threats do we see on the learning models? But we are still open. That can be very helpful. Okay. So in the digital world, what happens as I said, when this democratization aspect happens, you know, it's for everybody, right? It's for the guys with the real intent and with the guys with the non-real intent, right? And just to give a good idea, I think voice cloning is something that is there. And even these days, even video cloning is also there, right? So these are all, it's become more of a cat and mouse game, right? So the idea is that anything digital can be altered. But the point here is that when digitally something gets altered, you can also have tools to basically identify the change in the patterns, right? I said, for example, if you do a JPEG kind of, if you edit a JPEG and then you do it, that's what probably step one of this thing, where somebody tries to modify a pan-card image with a fake image and then try to get it through, right? How do you identify that? That was step one, right? So these days, people have been, so they are upping their game. The idea is that you also need to be aware of the fact that digitally whatever is happening, it can be modified and then how do you identify the modification or what are the boundaries around that, right? So models definitely have to be built for that and looked at it. There are some models which runs for all of these things, right? So it's a cat and mouse game is what I consider. I think your question is, are there still problems that are unsolved? There are a lot of problems that are unsolved, right? And there are a lot of threats out there. If you look at any advancement, you know, how quickly can you understand the problems with that advancement and hence respond to that is very important. Think about, say, using machine learning and artificial intelligence in credit and writing, right?  The first payment and then, you know, they have to pay for about three years, maybe, right? So if your model has said that, okay, this person is credit worthy, then it's only after a few months that you realize they are credit worthy or not. And hence the rate at which you change those models need to keep pace, right? Accordingly, and you need to have that kind of data to be able to backtest those models as well. That is very different from, say, a consumer segment where you are testing the price change in a mobile phone sale, for example, right? Where in, you know, you understand customer behavior instantaneously. I think there is a lot going on. So there is quite a bit of work that needs to be done. But the fundamentals, right, of whether you are doing the business on the basis of models or on the basis of, you know, traditional, you know, maybe intelligence, right, is the same. Hi. This would be the last question. Yes, for now we can take the rest questions off the stage. Thank you for that last one. So we are currently building a market base for whole-base savings. And we are trying to change the idea of savings outcomes. Like when people are depositing their amounts for various RDS or FT's or mutual funds or SIT's, obviously they are saving for some particular both, so we are working on that. Obviously B2C category and we both cater to the same. And you mentioned penetration as a major sort of opportunity because we have not gone hardly, especially in tier three. So how are you people working on that? How are you exploring in terms of insurance as well and credit loans as well into that category? Because agents is one way to work on that and then telecollers is another way. But to bring out that trust in that particular way, the belief is towards the government provided products in terms of FT's or loan. And even though, like, you might have seen, they generally do not get credits because of Sibyl score and everything, and they are going for a very higher interest rate. So that trust with, like, the crunch of the question is penetration part. How are we doing it and how we can do it, how we can actually penetrate towards that segment? Yeah, I think first and foremost, any product that you are building, you need to identify that unique value proposition. Where you are very different from someone else. For lending card, it was digitally delivering credit to a new to credit person, someone who does not have Sibyl score on the basis of cash flow in their businesses bank account. So we started there and then it sort of expands from there. And it's a lot of hard work. Clearly I came in the middle of that journey at lending card, but it's a lot of hard work. And from there on, there are several distribution channels. What you are talking about as penetration is really distribution. You would want to be able to distribute your product. Now, then you have to look for a channel for distribution. In his case, it was, you know, one of those examples was India Post. In lending cards case, and in a lot of other tech companies' cases. It is search engine optimization and search engine based marketing. There is agent-based networks that you will have to tap into. And then you have to grow from there. How do I put it? It's a lot of hard work, but there are no shortcuts to it. And you have to do it day on day and inch by inch. With that, we call it a day. Thank you so much.


Right. I think that we can start. So, hello everyone. We will be talking about enabling Zephyr on your hardware platform. Anyone here has experience with Zephyr? Development? Well, good audience. What about adding new hardware supporting Zephyr? Maury, of course. Okay, so I am Diego Suero. I am an embedded Linux platform engineer at Zephyr in the UK. They are in Cambridge. And I am the CEO of Embarcados, which means embedded. It is a website where we publish articles about embedded systems development in Portuguese. So, let's see our agenda for today. So, we are going to see how is the hardware support implementation in Zephyr. How we can add a new hall, a hardware abstraction layer. How do we add a new SOC, adding new drivers, a board, some debugging tips, and a hardware support checklist, depending on what you want to add. I will give you a checklist. And how do you contribute to mainline? Please feel free to interrupt me to make questions. I will try to make this presentation in 30 minutes, and if you want, we can have a QA session in the end. So, let's see how it goes. But if we don't have time, I am glad to address any questions that you have offline. So, before we begin, just a few words. This is not an introduction to Zephyr. For these, I think we already had some presentations here about Zephyr, but you can find a lot of documentation and other presentations online. The presentation is very dense. I have to shrink it a lot, but I still think that it's very dense. We will not cover every slide in detail, because the idea is to give you a reference to help when you decide to add a new hardware platform. You can have good slides as reference, some guides to, for example, like what kind of source files you need to look to add support for your new hardware. The source code examples are based on the master branch, on this specific commit, and when I finished this presentation right before the version 113, and then on the week after the version 113, a lot of things changed, some pathes, so I spent a lot of hours updating the presentation, and when I was looking to the Zephyr source code last week, I saw that I had another outdated information. But that's okay, I will point you out what is outdated, but maybe when you actually go to add the support for your hardware, some of this information can be outdated. Some source code that I will show here will be striped just to fit on the screen to give you the main idea, what do we have on this source code. All the examples are based on the Zephyr running on the ARM Cortex-M4 core inside the IMX7 processor, so this processor has Cortex-A7 and Cortex-M4, so I personally worked on porting Zephyr to run on the Cortex-M4 inside of this processor, and this presentation will not cover all the hardware aspects that we have on Zephyr, like adding a new CPU core, and this is actually very well documented in the Zephyr website. So let's start with the hardware support implementation in Zephyr. In this diagram, we represent from bottom to top the hardware configuration hierarchy. So we have the architecture, CPU core, the SOC family, the SOC series, the SOC itself, our drivers, and the board. That can be the hardware platform for our product. We can optionally make use of a hardware abstraction layer to support the implementation of this higher level hardware configuration and implementation. I will give more details about the how later. So let's take a look on that hierarchy of the hardware configuration. So we first have our architecture, that is the CPU core itself, like ARM-ARC-X86 and so on. Then the CPU core is where we find the early bootie sequence, interrupt and exception handling, thread, creation and termination, and context switching, fault management and etc. Some examples like the Cortex M0, M4, Atom and others. Then we have the SOC family, which represents a single SOC type that can have more than one variations in terms of referrals or features like we, for example, the Kinects, the IMX family, the STM32 and other ones. Then we have the SOC series that represents the specific referrals and features for an SOC family variation. I think it's easier to understand by example. So we have the, inside the Kinects, we have the Kinects, K6X, the KW something for the IMX, IMX6, IMX7. And then the SOC that is actually soldered on your hardware and it's all associated configuration like pinmuxing, clock rate and other things. Then you have the drivers. Include a device model that is responsible for configuring and initializing these drivers and each driver follows a device model API and it's specified and each driver has its own API as well. And you have drivers like interrupt controllers, serial communication and timer and what we normally find in Linux or operating systems. And then the board which includes the SOC and it's associated with referrals and features as well as external components and you can represent your product as a board or you have more than 100 boards available to use with Zafer. So in Zafer basically you configure the hardware in a top level fashion and in a low level. In the top level you will be using symbols defined in K-config. And the final processing of this series of K-config will be inside of these build folders. So the normal .config and header file. Then the low level hardware specifically configurations are defined using device tree. And the final processing of these device tree files are in these paths inside the build folder. And the device tree layout is as much as the same as we find in the Linux kernel. There is no difference if you are already familiar with the Linux kernel device tree. Here is the same thing, but the main difference is the Linux kernel. It uses the DTBO and the kernel parses that information at runtime and applies the configuration that you set in the device tree. In Zafer it is basically used to generate hash defines. So it defines that it will be consumed by drivers or your application source code. So let's see now how we add a new hall. So the hall is added to support the SOC board and drivers implementation. It is basically low level libraries mostly implemented by the SOC vendor to interface and configure the hardware. The different types of hall and the pros and cons are covered in Maureen's presentation. I think you've done last year. Yeah, last year. She explains the different types of halls and the abstractions. So when you are adding a new hall in the Zafer source code, the Zafer technical steering commit, we will approve for the source code that is known as Apaches license. It is located on this folder, X-Hall, the vendor and the library name. We will see some examples later. So just bug fixing modifications are allowed on these source or header files. There is no standard coding style or directory structure, how you normally see in the rest of the Zafer source code. Almost all ARM devices follow the CMC's standard headers for registers manipulation. It is enabled with a config option. In this case, it's an example of how we enable the IMX Hall. And it has a set of kconfig and CMakeList file to determine what the directories of the source code include paths and so on. This is an example for the IMX 7, where I imported the source code from the MXP FreeRTOS BSP into this path. So we can see on the root of this path we have a CMakeList file, a kconfig and a readme file. Then we have a drivers folder with the drivers for I2C interface, UART and other processor features and a device folder where here we have the CMC's header, CMC's compatible header. And as you can see inside the same Hall, we support the IMX 7 and the IMX 6. So they are different SOC series from the same SOC family that is the IMX. Any questions? So the readme file. This is what the Zephyr technical history and commit will look like. You need to follow the structure that they put on this web page where you will list from where you are getting the source code, the specific commit that you are importing, the purpose, the description or some dependencies if it has external dependencies or dependencies even inside the Zephyr source code. So this is an example of the kconfig. So you can see that we are declaring the symbol here of the has IMX Hall. And when it is enabled, we have other kconfig symbols that we can use. So like this is an internal processor feature, the RDC that is the resource domain controller when you are sharing resources between the two cores. This is the clock control module. Then you have it for the GPIO, I2C. These symbols are used to control what we want to compile inside the Hall. This is, and then the CMakeList file where CMake will find the source code. So if we are using the IMX7, it will set this IMX device and then it will add this proper folder as an included folder. If you are using the IMX6, it's going to change this folder. And the same thing for compiling as well. The drivers folder is common in this case for both SOC series. So when the configuration process finishes, we generate a .config file. And for the IMX, this is in a specific sample application. This is what the config symbols that were set for the IMX Hall. We are going to use GPIO and I2C. So let's talk about how we add support for a new SOC. When implementing a new SOC, we define the SOC family, the SOC series, the SOC and the SOC part number configurations. It is located on SOC architecture, SOC family and the SOC series. The SOC, it has an SOC.c file that it implements the normal SOC initializations like clock, cache, memories, or even implementing chip erratas. It is called during the system initialization process with the priority zero. It provides SOC header, which will be included by drivers or even by the board implementation. It can extend the functionalities not provided by the vendor hall, so things that you are missing in the vendor hall, because you are not allowed to change the vendor hall, Mary will not accept that. So you put on this folder. And it contains a set of kconfig files and device tree fixups. I will explain later about this device tree fixups. So the default architecture and the SOC family, the SOC series configs are selected in the board defconfig files. And in this example here for the Toradex Colibri module, we set the, so this is the defconfig file for the board. We selected the ARM architecture, the IMX family, and the IMX7 underscore M4 family. And these default configurations will dictate what kconfig files will be sourced and what kconfig entries will be selected and generated for the SOC presented on the hardware platform. Everything we will start from here. And it contains a DTSI file defining the SOC peripherals and features and it's located in this folder, DTS architecture, the vendor, underscore the SOC name and DTSI. So it may have the DTS fixup that contain mappings from the existing kconfig options to the actual underlying DTS derivated configuration defined. I know that it seems a little bit confusing what I wrote here, but I will show you an example and I'm pretty sure that you will understand what I'm trying to say here. And this is one thing that changed recently. The name of the file is not DTS.fixup anymore, it's DTS underscore fixup.h. But the content is pretty much the same, nothing changed. So this is an example of the DTSI file for the IMX7 Cortex M4. So it looks like the normal DTS that we find in the Linux kernel. So we have the CPU node, we set the compatible string, and then we set the memories that we have available for this processor. And note that this source code is striped, we have much more information in here. This is an example how we declared the GPIO7 node. So we put a compatible string, the registers, range, the interrupts, label, this is the resource domain controller, the permissions that we are going to add for this specific resource. And the number of the bits of the RQ priority for this processor. This is an example of the DTS fixup. So now I think you're going to understand what I meant to say on that statement. So in the left side here, the GPIO driver is common for the IMX7 and IMX6. And it is consuming these defines. But when the DTS file is processed, the defines that it generates are these ones, with the register address. So we use the DTS fixup to be able, the driver to consume the data that we defined in the device tree. You can use aliases to get rid of this, but this is now most of the SOCs you are going to see this kind of define is in there. And the same idea applies for the UART and other interfaces. So here we can see an example of the directory structure for the SOC series, the IMX7 SOC series. Again, this root folder is common for the IMX6. So these files, these K-config and CMake lists are common between IMX7 and 6. And then on the IMX7 you have these lists of the K-config files and source code files as well. A lot of K-config files, isn't it? Yes, you need to know in advance what the device tree is generating as a define, and then if you want to abstract that define, you put there. I'm not sure if I understood your question or even if I answered it. Yes. I haven't put it here, but you have some temporary files of the DTS processing that you can understand how it is generating these. Basically, I think it's Python code. It's not very complicated to understand how it's doing stuff. But I think that they are about to change a little bit these, for example, to get rid of these DTS fix-up because it's a manual process and why do we need this manual process. So we have a lot of K-config files, unfortunately. So when you run the CMake command to configure the build, it will source all these K-config files. I haven't found in the Zephyr documentation the exactly order that it does the sourcing of the K-config. Maybe this is... You can have different orders depending on the architecture or the SOC, but what I could find is that mostly for ARM platforms, it will follow this. And here I put the environment variables. So as you can see, a lot of K-config files. And specifically for the Toradex Colibri, resolving that path and environment variables, we will source all these K-config files. And when we are interested about this SOC, these are the files that will be setting the K-config symbols related to the SOC. Unfortunately, we will not have time to go in each file in detail to see what it's setting or not, where you need to set this specific symbol. But I think that maybe this is a good reference for you when you decide, okay, no, I need to add a new SOC. So what kind of file do I need to change? So maybe this will be a good reference. And then you go in those files and see, okay, in here I am setting, I don't know, I'm declaring the symbols for the peripherals interfaces, or in here is different aspects of the hardware. Okay? When the configuration process finishes, we will have all these configurations, these configs related to the SOC in this .config file inside the build folder. In this case it's for the shell module. So we have the SOC, the SOC series, number of our cues, clock information, the SOC part number, the family. So these are all related to the SOC and these are somehow all defined on that different .config files. Now let's talk about adding new drivers. So, as we know, the driver provides interface to the hardware, nothing new. The source code is located on drivers and then the driver type, like I2C, serial, SPI, and so on. It must implement the API defined in the driver type header, so you're going to have include I2C.h, SPI, serial. So it follows the strategy of one driver multiple instances. The selection and configuration is done via kconfigs and device tree. You can mix as well. May use the vendor hall and in this case we call this driver as a shin driver because this is basically an adaptation layer between what we have in the SOC, the vendor hall, and what the driver needs to expose to the applications. Its initialization is performed during the kernel boot. It has a YAML file describing the device tree nodes and properties. It has a device tree file to define the driver's properties and configurations. There is a good run-up documentation available in the Zephyr website and it's a very big top case. It's huge. I even tried to put some source code here but then I said no, I do not have time to go for it. But yeah, if you are familiar with the Linux kernel driver's implementation, you will feel good here, okay? And you can use a lot of drivers for other SOCs as a base to understand the code structure. So following our agenda, let's see how we add a new board. Any questions? No. So like I said, a board cannot represent the application-harder platform. The source code is located in here, boards, architecture, and the board name. It extends the SOC, enabling or disabling its peripherals and features and instantiate external device like accelerometer, thermometers, and it has a device tree associated to it as well and use a K-config. It may apply the P-muxing configuration for the specific SOC, has a board header to be used by drivers or your application, and contains a def-config file like I told you before to select which SOC is used on your hardware platform. It may set flash partitions in the device tree file, may include a DTS fix-up as well, so maybe you will have to do that DTS fix-up for the external I2C devices like accelerometer. When the device tree processing occurs, unfortunately I don't have an example here, but for an accelerometer with a specific I2C address, the define generated will include the I2C address in the defining name. But your driver doesn't care about this. It only wants to know what is the value of the I2C address, for example. So then you can fix up this in the DTS fix-up file. It may include other source files to configure or implement specific features of your board. It may provide a board CMake to instruct how to flash and debug the target. We'll have a YAML file as well to list board properties like flash, RAM sizes, two-chain usage, and must have a documentation file listing the supported features, interfaces. Of course, if you wanted to upstream your hardware support. So here, an example for the Colibri. So we can see the board header, the CMake list file, DAF config, device tree, YAML, the documentation folder. And again, so in this case, we have two config files and source code just for applying P-muxing. The board YAML file, so in this example, we use by default 32 kilobytes of RAM and flash. We say which two-chain we are using and some we wanted to ignore tests for net and Bluetooth. This is when Zephyr in continuous integration, it runs a lot of sample apps and tests. And when it is building, for example, to test Bluetooth, it will not build for the Colibri because Colibri doesn't support Bluetooth. So here is the DTS for the Colibri board. It includes the IMX7 DTSI that we saw earlier, set a compatible string. So we set some aliases. So these aliases will help to not generate that very strange defines that we can use easily on the source code. We choose which flash we are going to use and the RAM. And we are choosing which UART interface is going to be used by the Zephyr console. We set an LED as well to this specific GPIO. Then we have GPIO key as a user switch to this specific GPIO as well for the UART interface. Okay, let's compile, let's use it and set the balder rate for instance. And we enable GPIOs, I2C interfaces, PWM. So it's very simple. This is an example of the kconfig.board file for the Colibri. So yeah, we are basically defining the symbol here. For this board and say that we depends on this SOC series and we are using this specific part number. This is an example of the kconfig.defconfig. So here we basically put the invisible symbols that are not selectable by the user in the make menu config. So it thinks that we don't want the user to be able to select. This is under your control. And you can see, so if we are using Colibri, if the GPIO is enabled, we will by default select the GPIO port 1. If UART is enabled, by default we are selecting the UART 2 and for other interfaces. And this is the board named defconfig in this example for the Colibri with the visible symbols. So this means that when the user type make menu config, it can see the symbols enabled or disabled. And so here is selecting the family, the core architecture, the SOC series, the board and we are going to use UART console and some other default parameters. So let's see some debugging tips. So I think it's more a random debugging tip so when I was implementing these, I've used some of these stuff. So first thing is when you are implementing a new SOC, try to look at some source code or reference to see how it is starting up initializing that SOC. In my case, I used the freer pause. I think it's a very good reference to be used. One thing seems to be not booting. You are not seeing anything in the console. Try on the SOC source code file initialization. Access the UART registers, print a character or something just to see if things are coming up. Okay. Implement the UART driver first. Print the case life. Use some of the available system log-ins. Turn on the asserts to try to catch errors or even use on-sheet debugger like J-Link or U-Link. So this is the hardware support checklist. So basically when you are adding a new whole, you are going to need a k-config file and a CMake list to include the source code that you want. You will have to import all the source code, but you only select and compile what you want. For a new SOC, these are the files that you need to add. It's just a checklist. I'm not going to throw again. And for a new board, these files. So contributing to mainline. You decide to contribute to mainline. You have a fancy board with you and you saw that it's not implemented on Zephyr. So first thing, you have to follow the coding standard. Follow the commit guidelines. When you commit, they have a lot of checks that you'll check if your commit message is following the guidelines. So you will have to write documentation. There are documentation guidelines as well. Run the sanity check. The sanity check, if you run locally, you will take hours. But you can hopefully at least choose your board that you want to test. Then there is a very good example of the contribution workflow, like creating a fork from the Zephyr, your branch, and then creating the pull request and all these kind of things.  So there is a very good example here. When adding a new platform, so you have to split your pull request in different patches. So a specific patch for adding a new whole, and a specific one for each driver type you are adding, a different one when you are adding an SOC support, and a different one when you are adding a board. And be patient. Sometimes things are not that quick, it takes long, but it will happen. And yeah, this is it. So the references, any questions? Some vendors offer tools to help us start up with our boards. For example, Q by STM32, things like that. So they'll help you configure the GPIOs, the clock, whatever. And they'll generate a start-up code for you that you can just use. It's the way to incorporate some of the tools or the output of the tools when defining a new board. Or is there another graphic tool that Zephyr can offer to generate a start-up code? You mean like ST, you have the Q? Yeah. As far as I know, no, Zephyr doesn't have anything with this. Like this. The STMQube actually is in Zephyr. It's there. It's used by some drivers. Of course, if you are maintaining your own application, you can include if you want. But Zephyr accepting this to mainline is a different story. Maybe Murray can even clarify better this. So we considered that. I think the problem is sometimes those kinds of tools do the same kinds of functionality that you would see in K-Config or Device Tree. So there's some conflicts there. So generally we don't have a lot of those kinds of tool output artifacts imported into the tree. Because at that point, once you import in the tree, then you lose that flexibility that you have with K-Config to enable things, disable things like that. So the closest thing that we have right now, and this isn't really a graphical interface, but there was some work put into making sure that we have at least menu config enabled on all host platforms, because initially, a lot of developers typically use Linux, and that's well supported on Linux, but because we also want to support development on host platforms, there was some work done to make sure that we actually have menu config support as well on Windows. Any more questions? One, two, three. Yeah, this is it. Okay, thank you, guys.


Let G be a group with subgroups H and K inside of G. And let's suppose that the product, the Frobenius product of H times K is equal to the whole group G. Further, let's suppose that the intersection of H and K is trivial. That is the only thing that's common to both H and K is the identity. And let's further suppose that every element of H commutes with every element of K. So if you take something in H and you times it by something in K, that's the same thing as times it by those same elements in K and H right there. Now, I'm not claiming that H is commutative or that K is Abelian, right? I'm not saying that H commutes with anything in H or K anything with K. I'm just saying they commute with each other. Or oftentimes we say the statement right here that's now underlined. We say that they centralize each other. So G is the product of two subgroups which intersect trivially and centralize each other. In this situation, we say that G is an internal direct product of H and K, which is kind of a curious thing as like internal direct product. What does that mean, right? We've learned about direct products before for which H and K could be 82 groups under the sun and we can build a new group by taking all the possible ordered pairs of H and K as these range over the elements of the two groups. So this is what's commonly referred to as the external direct product. The internal direct product we see here is that you already have a group in hand. We didn't build a group. It's already built. But looking inside of the group, we can find subgroups which in some essence will act like it was a direct product. And we'll be very specific about that in just a second but let's look at some examples of what's going on here. So let's take the group G to be Z8 star. So Z8 star will be the multiplicative group mod eight. We take those integers which are co-prime to eight and we work with them multiplicatively. So two possible subgroups we could consider. You take H, if it's a cyclic subgroup generated by three, well three times three is nine, which is one mod eight. And so therefore the cyclic subgroup generated by three is just cyclic of order two, one and three. The same thing happens when you take the cyclic subgroup generated by five, five times five is 25 which is 24 plus one. So five will be order two, mod eight. So we have this right here. So notice if you take H and K, these are both cyclic subgroups, so they're subgroups. If you take their intersection, the intersection is gonna be one, right? The only thing that's common to both is the identity there. So we have that. And then what does their product look like? If you take H times K, you'll remember from a previous video that the cardinality of the set H times K, this will always equal the order of H times the order of K divided by the order of their intersection for which we then see that H has order two, K has order two, their intersection has order one. So you get two times two divided by one, which is four. So we have a subset HK living inside of G. Well, G has order four and HK itself is a set of size four. So this force is equality, right? Since G is order four right here, that means that HK has to equal G. This is a very common trick that if the size of this Frobenius product is equal to this order of the group, then it has to be the whole group. So HK is equal to G. So boom, we have that, their intersection is trivial. And in this case, G is an abelian group, so everything commutes with each other. So in particular, the subgroups will centralize each other. So this shows that in fact, whoops, we need the check mark there, that shows that G is in fact, the eternal direct product of three and five. Now I do wanna make a comparison here before we go on, right? This group, Z eight star, this is none other than, I mean the climb forward, this is isomorphic to Z four, which is just Z two cross Z two, which notice here, H is a cyclic group of order two, K is a cyclic group of order two. And now we're saying that G is an internal direct product to cyclic groups of order two, that's not a coincidence. We'll see before the end of this video that that's actually to be expected. Let's do another example before that though. This time, let's take the group, D six, so the dihedral group of order 12, the symmetries of a regular hexagon. Let's take as our first subgroup H, the cyclic subgroup generated by R three. This is likewise a subgroup of order two. R three is gonna be the 180 degree rotation, okay? Let's take as K, the subgroup generated by R squared and S. This will contain six elements. It contains one R squared R to the fourth S, R squared S and R four S. This group right here is actually just the dihedral group D three, right? Because if we're working in D six, a single rotation right here would be 30 degrees, for which a, I said that wrong, I'm sorry, it would be 60 degrees, would be a single rotation, right? And so then a double rotation would be 120 degrees. So if we just do the elements squared, you're gonna get 120, 240 and 360. This is just the rotational symmetries of a regular triangle, the equilateral triangle, right? Same thing with the reflections. So this group right here K is just D three inside of D six, or that's also isomorphic to S three, the symmetric group on three letters right there. So in particular, when you look at the intersection, the only thing that's common to both is the identity, right? R three is not inside this set. So their intersections trivial. In terms of their product, right, H times K, well H has order two, K has order six and their intersections one. So two times six divided by one is 12. That is the order of the dihedral group, right? D six, its order is equal to two times six, which is 12. So again, by counting argument, K, HK is equal to the whole group. Well, do they centralize each other, right? Well, if you look at the element of H, there's only two elements there, right? You have the identity. The identity will commute with everything because whether you have one times the identity or excuse me, one times the permutation pi or pi times one, right? It's always just equal to pi there. So the identity centralizes everything, right? It commutes with everything. What about R three, for example? Well, this one we might have to consider using normal forms. So if you take R three times the biopermutation pi, well, let's say pi is a rotation. Well, R three times pi will then be R three times RK for which as an exponent, that's R to the three plus K but the exponent's commute, we get R K R three. So yeah, rotations commute with rotation. So R three would commute with any rotation. But in terms of reflections, right? The typical reflections in D six look like R K S.  Well, like we saw before, R K will commute with R three. And then in terms of S here, commuting S with R three, there's a toll that has to be paid. You have to take the inverse of R to pass it by S. But as we're working mod six, negative three and positive three are actually the same thing. So you get R three again. And so it does in fact commute. So recall that the center of a group, right? This is the set of all elements Z, all elements Z inside of G, such that Z G is equal to G Z for all G inside G. So the center of the group is the set of all elements which commute with everything, okay? And so this turns out to be a subgroup, right? It turns out to be a normal subgroup, something we'll define a little bit later. So what we see, what you can see here is that the center of D six is actually equal to this set H that we've introduced. And so in particular, H and K centralize each other since H is the center, it centralizes everything. And so we got all the conditions. Let's see intersection of H and K is trivial. Their product is the whole group and they centralize each other. So again, D six is the internal direct product of its center with D three. Let's look at one more example of this, of this internal direct product. This time let's take S three, we're gonna take H to be the cyclic subgroup generated by one, two, three. So this is actually the alternating group A three which contains the identity one, two, three and one, three, two. Let's take the subgroup K which is just a cyclic subgroup generated by one, two. So it'll contain one and the transposition one, two like so. When you take their product, a simple counting argument gives you this again, right? So the size of HK, this is gonna equal three times two divided by, well their intersection is gonna be one, right? The only thing common to both. So this gives you six which is three factorial which is the size of S three right here. But notice that these subgroups do not actually centralize each other. So we have their product is the whole group, their intersection is trivial but these things don't actually centralize with each other. Notice what happens, right? When you take one, two, three times one, two, that's gonna equal one, three, right? So one goes to two, two goes to three and then three goes back to one, two will be fixed so that product's true. On the other hand, if you take one, two times one, two, three, right? One goes to two, two goes to one. So one is fixed, two goes to three and then three goes back to two. So these two products are not, they don't commute with each other. So H and K do not centralize one another. So S three is not an internal direct product of H and K. It's close, it's really close. In this situation, this is what one actually would call an internal semi-direct product but that's a topic for another lecture. I don't wanna get into that anymore here. So let's actually explain why we call this structure the internal direct product. So suppose G is an internal direct product of subgroups H and K. So remember our axioms here that G is equal to H times K. We have that H intersect K is trivial and we have that they centralize each other. Centralize each other. I should come up with some shorthand for something like that. So they centralize each other. Then in that situation, then we can prove that G is actually isomorphic to H cross K which this right here, H cross K, this is referred to as the external direct product as we mentioned beginning this video because H and K are genuine subgroups of G, right? They're inside of G hence the internal right here as opposed to H and K might have anything to do with each other in general when you take the direct product you form G. So from externally we build G or internally can we factor G? These two notions really are the same thing because up to isomorphism is the same thing and for group theories we don't distinguish between things that are isomorphic. So since G is an internal direct product we have our assumption that G equals H times K. Ka-chingk, that's the first one right there. And as such we're gonna then define a function from H cross K to HK by the following rule. Phi of HK is equal to HK. Now I want you to be aware that this is the same function we used in the proof of theorem 9216 in this lecture series. It's actually was just the previous video of this lecture series right here. And so some things we proved about that function is that first of all it's well-defined surjective function that's important to know. Also be by the assumption G equals HK. Or G equals HK. Notice this is actually a function from H cross K to G. It's a surjective function. But we also mentioned in the previous video that this function right here that every pre-image, every pre-image of an element, phi inverse of HK, right? This thing has as its set size the intersection of H and K. Basically two things will map to the same element in a one-to-one correspondence to elements of HK. And so we made the statement that this map will be injective if and only if H intersect K is trivial, but could chink, that's the assumption we have right here. So based upon the results of that previous theorem we have that this map phi is in fact a bijection. Well that's a pretty good direction to go for an isomorphism. So we have that the map phi from H cross K to G, so far it's a bijection. To show it's an isomorphism we need to have the homomorphic property. So let's consider that. Which again, I want you to be aware that this is gonna be a fairly simple argument here. Let's take two arbitrary elements of H cross K. So take two elements of H, we'll call them little h and h prime and take two elements of K, we'll call them little K and K prime. And so therefore, if we were to, if we were to take phi of HK times H prime K prime. So this is the product of two arbitrary elements in HK. This is gonna equal this element right here because again, you just component wise multiplication, multiply together H and H prime and multiply together K and K prime. So we get here, but then by the map phi, this will become H prime times K K prime. And by re-associativity, you know, this is a group after all, we can do the parentheses like this. And so this gets us to our last condition, kachinka, right, they centralize each other. So H and K commute with one another. So H prime K is equal to K H prime, right? For which then if you re-associate, you're gonna get HK H prime K prime for which the first one will be phi of HK, the second will be phi of H prime K prime. And so that then proves the homomorphic property. So we do in fact have an isomorphism between G and H cross K. So if you have an internal direct product, that means your group is actually isomorphic to this external direct product that I've mentioned a couple of times. So an example of this, if you take for example, the group Z six, you can argue that Z six is isomorphic to Z two cross Z three, where basically your generator is gonna be the element one comma one because the GCD of two and three is, excuse me, the LCM of two and three is six. So this will give us a cyclic group of order six. So it's gotta be isomorphic to Z six because all cyclic groups are isomorphic if they have the same order. Now if this is right here in an external direct product, we think of Z six. So if we were to elaborate here, what is Z two crosses Z three here? We think of it as the six elements, you get zero, zero, one, zero, zero, one. We're gonna get one, one. Who have we forgotten here? We're gonna get one, two. Feels like I'm going through this randomly. Zero, two, one, two, three, four, five, six. So there's six elements right there. On the other hand, Z six, we really think of it as like zero, one, two, three, four, and five. And so these groups are isomorphic. We've established that though. And so since Z six is isomorphic to the external direct product of Z two crosses Z three, then there should be some groups of Z six, one of which looks like Z two up to isomorphism. One of them looks like Z three up to isomorphism. And it should be then Z six should be then a product of all these things. So our candidates are gonna be the following. Take the cyclic subgroup generated by three inside of Z six and take the cyclic subgroup generated by two inside of Z six. Well, H here will contain two elements, zero and three, known as three plus three is six. So this is gonna be isomorphic to Z two. The subgroup generated by two on the other hand, this will contain zero, two, and four, right? Two plus two is four, two plus four is six, which is zero. And this is isomorphic to Z three. So we have our candidates here, H and K. Their intersection, of course, is the identity, right? So it's just, it's just zero is what's common to both of those things. And it's an abelian group, so they will commute with each other. And then their product, right? If you take H, in this situation, since Z six is an additive group, you probably would instead of writing H times K, you write as H plus K. But notice what goes on right here. You're gonna get the order of H is two, the order of K is three, divided by the intersection, which one? This is gonna use six, which is the order of Z six right here. So we do in fact see that Z six is the product of H and K, and it's an internal direct product. And so this is what the previous theorem was showing us here, that internal and external direct products are in fact one of the same thing. We can find the factor groups inside of the group up to isomorphism here.


As of April 3, 2020, the World Health Organization reported a total of 972,640 confirmed cases of COVID-19 globally with 50,325 deaths. On Saturday, April 4, 2020, St. Moucher recorded one confirmed case of COVID-19 out of 16 samples which were sent for testing. The individual is a 56-year-old female who is a contact of one of our previous confirmed COVID-19 cases. She was brought in for testing through the contact tracing team. This confirmed case brings a national total of confirmed COVID-19 cases to 14. She's currently in isolation for the management of her case and is in good spirits. All cases currently in isolation are responding well to their treatment and continue to do well. None of the confirmed cases have complicated or required respiratory support, nor has any of the cases progressed to death. St. Moucher has zero deaths of COVID-19 to date. St. Moucher has approximately 200 persons in facility-based quarantine. A group of 85 persons in facility-based quarantine were discharged on Friday, April 3 and another group of 13 individuals have been discharged today Saturday, April 4. All persons currently enrolled in facility-based quarantine are doing well and have not displayed signs or symptoms of COVID-19. In accordance with global standards and protocols, testing is not required for these individuals as testing is done when they develop symptoms of the virus to ensure accuracy of testing results. The Ministry of Health, we continue the active surveillance of communities to identify potential cases of COVID-19 to bring persons in for testing. While this has been undertaken, it is important that every individual adopts behavior which will limit the risk of new cases emerging. We continue to advise the public to focus on the maintenance of standard recommendations to prevent the spread of COVID-19 infection. These include regular hand washing with soap and water or the use of alcohol-based hand sanitizer. We also advise the public to work with us and stay at home. Avoid areas where there is crowds and avoid all possible contact with other persons. This will limit the spread of COVID-19 here in St. Lucia. As always, the Department of Health and Wellness, we will continue to provide regular updates on COVID-19.


What's going on leifernation asleep for back again and welcome back to another pack opening video today We have a huge pack opening I've gotten my first ever hut rivals reward and they are some big rewards now looking at the new cards that are out We have a new event out called the young stars Fueled by Gatorade event So we got these master items in petterson. That's black wood Coken yummy and macka boy. We got these young stars that we can pull looking at that by room that kill my car jack hues Any of those guys would be great. We got some big prime times L 90 McKinnon 90 over actually an 88 cane 87 John Tavares would love to pull him That's a hot champs cards and besides that we got that team of the week a big 89 PD and 88 Bessar So we got some good cards out now. You guys heard me say I have some big boy packs And I do we finished in platinum so close to diamond But I want the untradable option which gave us two premium players pack two NHL players packs and two jumble NHL player packs We are excited and we are ready to rip these packs. You guys already know we're gonna pull something good I've never opened up these jumbo NHL player packs ever 20 items all gold NHL players at least 1080 plus overall players That is huge. We are saving these till the end So we're gonna start off with a premium players pack and hoping for a big pull here My pack luck has been on point and our first card is this Eric Carlson I already have him so I can sell the car that I have already that is huge Our first card is a purple like I said my pack luck has been on point and it continues to stay on point big Eric Carlson and then oh my god a team of the week Dougie Hamilton Dude, that's a it's hard to get good right-handed the fence winning scheme and we just got one back-to-back cards 285 pluses My pack luck continues to stay on point a big Eric Carlson and a big team week Dougie Hamilton third card is a Clayton Keller and Gluckland Denning Jared Spursion Josh Bailey decent little pole there Silverberg probably a be it for this pack and we can't complain about it 285 is a one pack and in the shittiest packs that we got we'll take it on to the second premium players pack already pulled an Eric Carlson and it's even with Dougie Hamilton. Can we roll with our pack luck? Maybe we get an 86 in this one here. So first car was table terror binding Anything else towards the end of the pack Ethan Bear Tommy Wiggles Jeremy Roy Frolic Do we have I think we have one more. No, that's our two guaranteed 80 pluses. Maybe there's one more No, okay, we can't complain though on to the NHL players pack ten items all gold players All gold NHL players with at least 80 with at least 480 plus overall players I couldn't talk there for some reason. So here we go 480 plus players here. Let's go big pack here Matt Irwin So no 80 plus yet Vince Dunn Luke Coonan Derek Englund Dustin Bufflin, that's our first 80 plus overall. Okay Conor Halbuck is our second 80 plus overall Tyler Johnson is our third Nyquist, I think he has a card out right now feels bad and That's gonna be it for this one second players pack these have been good for us So hopefully we had a good pull in this one for 80 plus again. So here we go 83 Johnson Taze That's our first 80 plus not a bad pull there Colton Sissons Artemia Nissimov or Artem Nissimov. Sorry Brandon Tanev Come on. We need a big pull. It's been a while. It's been a while here Travis Dermott leaf legend one more 80 plus and That's that's rough. All right So first time opening up these jumbo NHL players packs 20 items all gold NHL players with at least 10 Count them 10 80 plus overall players. Here we go First time opening these let's see how they are man. All right Nick Schmaltz Jeff Skinner Kyle Palmeri Thomas Shabbat Alexander Kerfoot Josh Bailey Polat come on. Okay a team of the week Mike Smith. He's got a decent synergy NSP not bad. We'll take it. Oh Genome Elkin. I think the one I have with him is already untradable. I'm not too sure We saw that purple base milk and we can't complain with it though Ryan Strom. Oh Okay, if they if they win he gets upgraded to an 86 not a bad pull 85 Kalloran, okay Josh Anderson dancing Heinen Rasmus Dallin Okay, we still got four more cards. There could be something hiding back here. Shea Weber That might be it. Yeah, that'll be it. But hey, not a bad pack 85 Kalloran we got an 85 Gino and an 81 Smith not too bad and last but not least last Jumbo NHL players pack. We'll be a nose pack here. Here we are boys Something over in 85, please Devon Dubnik is our first a plus Craig Smith. Come on Let's see another purple tint or an alumni. I haven't pulled an icon. Sorry icon. I've never pulled an icon yet in this game So maybe that would be nice. Oh 85 prime-time Gustav Nyquist not a bad pull not the greatest synergy. He is a usable card. So not bad We got a Michael back Lynn Okay, Pekka Rene Okay, something else here Gets live. We got a couple more cards left towards the end Roman Yossi Miku Koyvu Jonathan drew in last two here and that'll be it not a bad pack opening though We cannot complain. Anyways, that's going to be it for this pack opening But if you guys did enjoy it make sure you drop a like on it if you guys are new around here Make sure to hit the subscribe button. I appreciate all the support you guys been giving me You guys do not understand how much it means to me Anyway, this is gonna be it for this video. Thank you guys very much for watching and I'll talk to you guys later. Peace


The initial sort of like a web 2 web 3 kind of thing was all essentially VC scams And you know it was essentially a 16 Zed and company trying to own the next version of the web So it was not really decentralized. It just had new owners and You know Bitcoin happened, right about over a decade ago now and Bitcoin is freedom money, right? And you can't really do anything without freedom money You can't even build a decentralized like internet or communication without freedom money because otherwise You can't really do anything Even pay for the servers so What what what Nostra wheel and Fiat Jaff did? That you know what was about two years ago now will When he came out is they created this incredibly simple protocol that that that is very good at relaying information and And being sort of like is like distributed decentralized and it can also be private It lives in all spaces It's incredibly hard to kill It's sort of like resolves this problem. So you can have Decentralized money and decentralized communication so that humans can sort of trade in peace, right? There is no owners. There's no company Same for Bitcoin same for Nostra This this this two sort of this at least how I see it the combination of the two Really sort of like came Had the stars aligned For us to build a more free future for everybody So will you along with Fiat Jeff as NVK mentioned there are one of the protocol developers What was your motivation for doing this and then we can discuss a little further exactly what it is We're talking about but first I just want to know, you know, what is what is the vision here? Yeah, I've always been interested in like, you know new and interesting protocols, you know Bitcoin really caught my eye early on and you know I've always been looking out and trying to think of the ways of getting back to like the early days of the internet when Everyone just it wasn't like owned by corporations and people just hung out and had fun And you know, it was much more decentralized back then because there's it was much more a focus on protocols So I've always been interested in like, how do you apply, you know protocols like to improve freedom on the internet? So, you know, the first one that I tried was Mastodon and Mastodon was like this really cool idea where you could You know spin up an instance and then join it and then hang out with your friends But we we started to see that that Started to have there's a lot of cracks in that design in the sense that any one of those instance admins becomes like their own little Like they can just ban you and then you have to start over So as I was always looking out for a way to like make this kind of solve that issue where Like that we have on Mastodon and then eventually phone Nasra and it got me really intrigued It was really simple and I just kind of dived in and you know, and it's been amazing since then so there was you know a And a kind of exodus after Elon took over that that seemed to be the big alternative and Some recent articles have shown a bit of a drop-off in recent months I would like to hear from from you will and maybe NVK, you know, what it is That is the differentiates Nostra from something like Mastodon I mean, there's there's a huge flaw in the sense that you join an instance So I think NVK ran Bitcoin hackers And it was like the only instance that I was able to get on and without Because I signed up to like multiple different instances and I would just say the word Bitcoin And there's just so many communists on that these platforms I just got instantly get kicked off and I get banned so I have to start over and build my follower list again So like I found a home at Bitcoin hackers, but then the issue was you know, every other instance just banned Bitcoin hackers It was really just you know, we only had our small community We open Bitcoin hackers.org just to in case Twitter sort of started kicking off kicking out Bitcoiners This was why I'll back. I can't remember. Well was the reason but there was something that was going on I think a lot of Bitcoiners were getting shadow ban on Twitter because Twitter was being run by commies, right and So we all started like, you know joining master and I'm like, okay Maybe maybe this instance is like how we finally sort of like get enough people a critical mass outside of Twitter as as the least a backup and You know, my my instance had no more no moderation, right? I'm like, listen, you guys are all adults Please don't do criminal things.  Like this is not a row of want I don't want to host your data So When I learned about Nostra, it was like a little bit too early and and you know, these guys were playing that I was too busy Bitcoin and then I think it came back a few months ago I was like, okay, holy crap. Like this thing is really sort of like now the clients work wheels diamonds was like, this is great I was pulling up this This Snowden tweet Snowden is I would say probably one of if not the highest profile user of Nostra at this point You know, maybe Jack Dorsey But he describes this difference between a platform and a protocol and everyone involved with Nostra is very You know insistent that this is a protocol not a platform He says a plat if a platform is a silo a protocol is a river No one owns it and everyone is free to swim. Is that an accurate characterization? Yeah, I think I think he really hits the nail in the head in that sense It's like, you know platforms they control the data They they define who's allowed to access the data at what time and and if you get kicked out then you can't you know It's it's a silo. It's and you can't get to it But you know in this case, it's more of like a river where anyone kind of jump in the river swim down Everyone can kind of be involved. So I really like that analogy But yeah, it's definitely more of a protocol than any than a platform Can I ask real quick just to follow up with the metaphor of the river and I'm thinking now of like, you know The lazy river at at an amusement park everybody's kind of floating along in their inner tubes How does Nostra work? As a protocol to make sure that like things, you know, there aren't too many people You know clogging everything up Etc And yeah, so this is actually a big issue Because you know, I run probably one of the biggest relays on the damas relay and it's wide open to the public And it's just getting spammed to hell So it's like that's just that's the analogy. There's like everyone's kind of clogged and crammed in and you look at the global feed It's just like spam spam Um, so that's a big issue and one way one way you can get around this is a paid relays So there's a bunch of paid relays where you just have 10 000 Satoshi Entry fee and it just you know, and that kind of weight And only people with those keys can actually post on the relay So that's one way to kind of clear up the congestion The web is a great exact is a great platform and I don't know we're kind of you know abusing terms here But you know, it's a great platform and people started to build silos on top of this like landscape Which is the web so the web is is decentralized you anyone can spin up a server But the kind of the main issue is that You know, how do these like silos talk to each other, right? So if you set up like gmail or youtube or All these different platforms that you know, they're all independent So yeah in theory like the underlying substrates decentralized But the things we're building in this landscape are not and they don't talk to each other So when I think of decentralization or at least like the re decentralization of the web I see like how do we connect these silos together and how do we make all these apps that we're building interoperable? So I think master is like one of the That one of these protocols that can actually link these you know disparate silos together, which is pretty fascinating I mean the client is kind of like outlook used to be or something like it It's a it allows you to pull your email into Like some form that you can organize, etc It's more than that. I do like email analogy though in that because yeah because email is a protocol, right? Yeah, so the email is a protocol So the main difference is so it's a really good analogy because you can have multiple different clients So there's a gmail client. There's a client things like that. So domicil be one client But the difference between email and nostra is that you know in some sense the the information is siloed within It's kind of hard to like, you know, you know pull down your data and push it to another email server So, um, that's kind of the main difference is that the data is much more flexible can flow much better But it's very similar analogy. I think part of voluntary association is that people can shut down Like they can choose not to associate with certain people. Yeah, I mean just Yeah, yeah, just just get off the relay or or you know, don't Like block people on your own personal client. You just can't prevent them from talking Hey, thanks for watching that excerpt from our conversation with nvk and will kasarin about nostra and the future of the decentralized web Check out the full interview in the description below and tune in every thursday at 1 pm eastern to catch these conversations live And subscribe to recent tv and hit the notifications bell to find out anytime our videos go live