 Welcome, everyone. It's the 10th of May. This is Jenkins documentation office hours. Okay. It's actually the 11th of May for half of the attendees and the 10th of May for the other half. We're doing our Asia and Australia office hours. So I had a couple of items on the agenda that I was for total that I had wanted to check with others. The ones that were on my list were Jenkins on Kubernetes. Then Jenkins configuration is code plugin documentation. I'm going to take a contributon retrospective and then the last one was contributor summit. Those were the four that I had any other top oh and I should probably start sharing my screen just a minute and let's do that. So share. Here we go. You should see a document. No Kristen today. Okay. We see a document. So first proposal was Jenkins on Kubernetes then jcask then she code Africa. And then contributor summit. Anything else. Yeah, you have covered all that you can mark. All right, great. Then let's let's start with Jenkins on Kubernetes. So the, the, there were recent comments on the mailing list. Yeah, I'm doing sequence. So the card, do you want to give us an overview of what you're thinking there and how it's, how it's going anything that we can help with. Yeah, I'm, I'm doing good. Basically, I have seen the plugin install manager video by the developer advocate. Yeah, it looks similar to some of the products I have worked before. So basically, it looks like the use case that we need to document is is how easy the plugin install manager makes it to operate the plugins and basically, you just say install one plugin and it just installs all the dependencies needed. Where the, and those dependencies are installed only if they are not present and to the correct release version. So, yeah, it looks straightforward for me and hopefully by next meeting I should have a ASCII doc out and yeah, I might not have the workspace setup. My repository. So, if I can set it up by next week, then I will put it in my repository and maybe do a full request. Give it a try. But my goal is to finish the GitHub document by next week. Excellent. Thank you so, so I like that I think it's good for us to talk use cases so you mentioned the one of update existing plugins to latest. I think that's that's a very that's a crucial one there. There are some other use cases that are being used in the Jenkins infrastructure project that in a future time after that initial effort. It would be good to include let's see Jenkins configuration as code. Here is well let's just go. GitHub.com. Yeah, that is updating the Docker file in the Docker image right specifying the properties of the plugin. Yeah, where where you can use you can actually use it to. Let's use it you know it's not configured I'm sorry I did the wrong one we need plugin installation manager. Plugin installation manager. That's not it. I just use this technique today actually as I needed an output that would tell me exactly the plugin versions that were being asked for. And, and this, this thing has examples in it of. Let's see the one that I used was, where was it. It was out of this available updates thing. I need to see which plugins would be would be updated and use a generate the report output, so that I could tell how, how it should be done, and I was really impressed it's so the updating plugins is there. That's the use case you were describing up. Yeah, and then that that was the one I was dealing with right was dependency management as code where plugins dot txt with exact version numbers. It supports preview option also I guess no. Right right exactly another another use case right so preview option. There's no download mode to see hey show me what what this would do if I allowed it to do it. Yeah. And it's got a no download mode a skip failed plugins so, so they're all sorts of, of novel things that it can do show security warnings that will tell them hey if you're using a plugin that's got a security Yeah, doing the URL in this document that the one that you're seeing please you bet absolutely right there. So, so we've got jcast, or, or though this is not jcast because this is just the regular. Yeah. Okay. Well, so, so this can be used quite effectively in combination with configuration as code, and eventually we'll get there. But for right now the first step was document this one thing, but then pseudocars proposal was next was how to build control images, and then how to use configuration as code and jcast. Right so I think I think it's the right sequence. It's all right. Here's how you manage your plugins. Now here's how you get those plugins into an image that you can use. And then now here's how you manage the configuration of the image in more things than just plug in versions. And this is different for kubernetes and for non kubernetes. And interestingly enough, it's the same. And so we should be able to reuse up through this piece in in multiple locations because configuration is code works great, even for even for a, an out of the box installation on Linux without using Docker. So this is what you're just working on right. So, you know what, what they are just working on is he's he's preparing things related to configuration as code and he's got a blog post draft that we'll look at later. Okay, cool. I'm confused but it will become clear in time I'm sure. Okay. So the car anything else you wanted to wanted to share with us on this ready to go on to next topic. Yeah, basically. I'm, I'm searching for help, help charts for various deployment configuration. Yeah, so let's let's, let's put some. So here are the community helm charts. And let's, let's take a look at these so. Oops. Let's start from the helm charts that are here and they give us some good insights and then if it helps you, you could also consider. So helm charts. The Jenkins info project is using helm charts to configure their own Jenkins servers. So we may be able to find those Jenkins dash in for us. What is that what it is. No. Basically didn't want to duplicate efforts. Right, exactly. Oh, here it is charts. Okay, but, but for me, these are a, these are a very promising thing because it gives you a hint of. Oh, look, this is how they're doing, doing helm charts that are being used right now in production in various ways. So, so the helm charts that the Jenkins infrastructure is using are here. And, and you can see how they're doing it, etc. So now now this is what shows you not just helm charts for Jenkins, but helm charts for all sorts of other components that we maintain as part of our Kubernetes cluster. Do we have a chart here for. Yeah, I found a couple of instances, but I wanted to look for the latest. That's all it was. Okay. Yeah. Okay, so I think for instance, this one, if we look at Jenkins here. This one is this one is the the actual server definition that we use to build Jenkins releases. So, so it's a it's a good reference point. Release.ci.jankens.io is at that location. Anything else. Okay, thank you. Thanks very much for your willingness. Much, much appreciated. Thank you. Thank you. So dirage, you had submitted a draft blog post. Sorry, am I being deafening here. Don't mean to be so loud. Yes. Oops, where did I put it? Oh, it's right here. Here we go. So let me just tell you briefly what this blog post is about. So this blog post is for those users who don't want to know the YAML configuration of any kind of plugin that they're using. So they can do that. They can find that out by configuring that plugin first on the UI and then using the export configuration or download configuration from the UI. And then on the big YAML file that they get when they download the YAML file, they have to figure out where that particular YAML snippet is. And then you know that this particular plugins YAML configuration looks like this. So this is the whole aim of this blog post. So I, for the demo purposes, I've used view job filters plugin and I've tried to be as descriptive as possible. And, and one question I had was how should the tone of the block should be like should it be like interactive? Like, should I be referring the readers as you or it should be just like normal textbook blog post? That's first thing. Good question. So I tend to, I am, I am much less of a writer than Meg is. So we may want to rely on Meg to give us a, give us the definitive kind of thing. But I tend to prefer avoiding the second person, the you. I tend to tend to describe it in, in terms that are, how do you describe it that using third person. So do this, then do this, then do this, rather than you do this. But Meg, do you have any guidance there? What's the, what's the best tone for, for a blog post? Is it second person, give them instructions? Is it first person, I did this? Is it third person? I, I favor what you're calling, which is actually imperative for a third person. The user should, you know, the user populates this file with this code. I, that's a little rough. I like, but it's imperative. I like that. But a lot of people for a blog do like the informal. I'm kind of a formal writer so. Sure. Well, and dear Raj, you are welcome to do it in whatever tone is comfortable for you. That there is, there is no requirement here, certainly that it needs to be imperative or, or a first person, second person, whatever form that's, if it feels comfortable to you, we will happily accept and and rejoice that you're writing. I might argue for a blog, the second person saying you should do this and you should do that is more is kind of appropriate for a blog. When you get into the formal documentation, then I like it to be a little more formal. But I'm also, I'm not one of those who ever says please do this and my writing it's like no just do it. Okay. Well, I'm just learning so I'm, I'll be taking all the pointers from you so I'll work on this for sure. Great. So now in your in your tutorial here you're taking them through and nice job gathering screenshots. And in this case it looks like the screenshots are from current code. So big win there as well you didn't use something out of date. Thank you. Yes. So what I see looks, looks like the kinds of things that I would expect to see so the configuration is code file shown in the user interface. And now I didn't check the size of your images. What's the, what's the screen resolution you're capturing it your images at. Actually, it's not a fixed one. I'm just snip. I'm using the snipping tool and just capturing when required, like, not a fixed one. Okay, great. So, so you just you, you, you grab a snip with the windows tool or whichever platform you're on and capture it then. Yes. That's a better way to do this. No, no, that's, that's you just described how I do it. Great. I've fallen in love with this thing called go full page that will take a picture of my, of my web page, but, and it's it's free so you could, you could certainly try it, but a snip tool a snipping tool with your operating system is also just great. So you're suggesting to capture the screenshot of full page right. Yeah, so this, this thing go full page has the, well here let me open it up. You don't you certainly don't have to use this but what I find is when I'm looking at my Jenkins machine I say give me a picture of this. It takes the picture and then there it is I'm done. I can go full page or I can now crop in any way I want and still get something out of it so that that's, that's the thing that I've liked about it is it's convenient to do and the simple use of it is free. Right, right. One small question on that so if you're capturing the screenshot of full page and whenever I met a particular instruction that I want to guide the users that you have to click on this button. So, if there's a full page photo wouldn't user be confused like which one so Yes, you're absolutely right you have to crop them. At least I think I've always felt like I needed to crop them and sometimes I've even had to crop them and put highlights around the thing I want them to choose, because they may not know they've got to click new item. Right that's it's important they must click new item, or they must click people or whatever it is you know or they click manage Jenkins and if you if you don't have a way to highlight it to them. You can be confident they'll miss it. Yes, so I can do this like take the screenshot of full page and then highlight like with the help of an arrow at which place you want to click next. So would that look good. If you find don't be shy about cropping the full page so if for instance we want to highlight that we're doing manage Jenkins, it would be perfectly reasonable to say alright I'm going to crop this page come on. And I'm going to crop it to only have those things that are relevant to the user right so your, your cropping technique you're using is a really good one don't don't don't give up on that. Don't give up on that technique. Because now it's now it's much more clear to them oh yeah look there's only one thing highlighted on the screen it's this manage Jenkins I know I need to click there. Okay. And I think you'd actually done that very well here right so for instance this configuration is code screen has the benefit that you you captured a nice edge on the edges of this of the image so that the user knows oh yes I don't have to think beyond that. And it shows the entire thing and the text is readable even for people with poor eyes like mine. Yes, that was my like to be to be more clear for the user. So, just question on this one so the instructions are not click on the download configuration button. So, do you want me to put an arrow or highlight that button in the image to make it more clear. I'm not I'm not deeply attached to that because this particular image for me seems seems pretty clear. There, there isn't a lot of confusion for me on this image it looks perfectly reasonable. When you say click on download configuration. There's only, there are only four buttons. It's this isn't nearly as rich in controls as as the Jenkins main UI is right if you if you have to for some reason show an entire the entire Jenkins page, then they're going to struggle to find it. But with this, I think it's just great. Right. Meg anything you would guide there is, does that make sense what I'm describing or am I explaining what as I glance at it because I'm not real. Do they is they only type in the path or URL if they want to change from what's the from where the configuration was previously loaded. Actually, path or URL is entirely optional and and in this case not even being used in this in this blog. So are so do we tell them that because I always I see a blank thing I, I don't know how to fill it in or tell me that you usually you know if you want to reuse the same location. That's an interesting point okay so your point there is is okay I'm going to put a comment here based on that so should we should the blog. I know that the existence of the other fields like path or URL and explain that they're not used in this. Yeah, you don't need just say you don't you can leave that blank or something. The other one that I saw scroll down just a second I think the next thing is about the view section just a minute. Alright, okay. Got nitpicking don't you love being copy edited in real time. This is where I would say you can see details related to the view. I have to think a minute about that. I would be inclined to say, go to the views section and make that a black back tick literal, and then I can open the file and search for it and get there right away. So am I the ammo file. It's locate the part where you can see. Okay, got it. I see that with go to the views section, which shows details or something like that. Yes, okay. If I understand this correctly, you're suggesting me that it's difficult in this photo to know where the particular Yamel configuration of view is. So you want me to highlight it really well. Yeah, and I think I think it's, I think that's a good point so is there a this may be a place where you really do need to put a box around the views section here because that's the section that's relevant right you've highlighted it to them by putting in the middle of the screen, but it may be best to even this one really draw a box around it because of all the other surrounding text. People don't read anymore they search. Yes. So one person's opinion, feel free to ignore the multi scribe. And so, as we go forward then you show them, hey, change the name and set duration so here, here again there's a place where we probably want to highlight duration and the name and very conveniently they're close to each other good It's like if you put a box around that region they'll see oh here's YouTube demo view and here is build duration minutes. Sure, I totally do that. Great. Okay. Oh, and you did use the path or URL. Okay, good. Nice. Just to apply the configuration that you've just changed locally. So what you're doing here is you're showing a feedback loop for the user. They can, they can prepare the changes themselves, then test them by applying the configuration. Oh yes did that do what I wanted to know. Here's what I need to do instead then. So the downloading the file, making some changes locally, and then reflecting those changes on the Jenkins instance by passing their local files URL on this field, and then clicking on apply any configuration. That's the loop. So do you want to explain more on this. Maybe this is great because because what you're doing is now you're encouraging them. Go go see for yourself that it did what you expected and you're teaching them how to do that. Yes. So here maybe I can. I think they will be able to notice that name has been changed that is written after dashboard right next to dashboard. And do you want me to highlight 50 value 55 as well that is at the bottom of the screen. See for me, I think it's already fine even without highlighting it because because you've shown there they're not going to change this right and so for me that you show look here's the result and the result is here's the correct name YouTube demo view. And here's the correct build duration. Right. Right. I think I'm, I'm always mistaken to assume that the readers are going to be just like me, not that totally that they're going to be lots of experienced ones as well. So that's something I should keep in mind as well. Well, I'll guide them that way. I mean, it's, it's certainly your blog post and you are welcome to do whichever direction you go, whichever direction you choose but, but I, for me, I think, if you think it will help by all means, highlight it. If you think if you think, oh, don't want to do that extra work. That's great too. I think I'd pass on this one. I don't want to do it because as you said it's already very clearly visible the name and 55 values. So that's okay. I don't want to overdo it. Great. Yeah, this, this looks really good to you, Raj. Thank you very much. So now are you comfortable converting this into ASCII doc and getting it ready to submit as a pull request. I've never done that but I will surely do it first by myself. Great. Yeah, so the, what you'll find is there are there are instructions on the, the contributing page. Let's go there. Get hub in Jenkins.io. There are instructions here on how to, how to add and specifically there is adding a blog post, and this should take you through it and if you find there's a mistake here or something that doesn't work the way you'd hope. I'll ask questions. Now there, there is a fun one that I like this thing called open graph, which allows us to embed and associate an image with a blog post so that when we post it on Twitter. It has a picture with it. So that gives you a chance to do, to create a picture that can be the, the sort of highlight of your blog post that picture might be this image or it might be one of these images or something else that you think would help people. Recognize that this is about configuration is code. Let's see. Oh, actually, we've got another one that we could use. You could grab some Jenkins artwork. So about artwork. And if we look here here, see this one right here. You can find a way to put a reference to this image into your blog post, go ahead and do it because we've already got that image on the site and this is the configuration is code artwork. Okay. Okay. It's just a fun. It's a fun image to. If we look at some of the other blog posts, let's see, let's get a quick look some of the things that we've done in the past. Well, let's see, here's one, putting the pictures of various contributors into this blog post, or putting, let's see what's another one. Evelyn the villcos here we go this one has her picture in it. So photos can can actually help people be interested to read so go for it. Right. And totally do that. And I should, I should have made a comment on that that the, let's see how about if we just put it here. Good to include an open graph image, possibly, plus some text. See the social media covers slide deck for examples. Now I'm going to bring up the social media oops, the social media covers slide deck. What this is is this is a series of, of Google slides that we use for for to generate open graph images so each of these if I do file, download PNG I get something that is very nicely sized to be an open graph image. And you can then use Google slides and I'll put a link to this into the. There we go. This would make it more interesting. That's the hope anyway I, I am, I am not nearly artistic enough to actually be good at this, this work but I think it's helped people by having these pictures for instance Jenkins Stein. Can you do both the, the jcask butler and his own picture right. Absolutely. Yeah, so you bet could copy this deck or propose a change in this deck so. So for instance if we said, well let's see if we could. Yeah. So the technique was is commonly I'll put some text in there and then embed the image I want to put into the same thing so that now I've got it. I'm curious what you're going to reference for the resource for intro to jcask. I put three different video links here as possible, possible references wasn't sure and this is one dirage where I'd suggest you want to maybe want to watch all three of them and decide which one you think is the best introduction. One of them is from Nicola Deluf and Evelina Vilcos from like 2017 another one is from, let's see this one is from where is it. This one is from like 2018 and this one I think is Oleg and, and me and Alex. Yeah, this one is is another one from 2019. So, so look at them and see which one you think is a good one and hey, you could make a hyperlink there. If you want you can actually even embed the video itself so that they could click it and play the video but if I remember you were planning on possibly doing a video yourself and this video. Oh, it's already there. Okay, I have not viewed that video yet. Okay, good. Yes, so it was five minutes, but definitely no one would watch it. So I reduce the time and tried my best to keep it two minutes. So if you want me to go less than that, then I can try for that as well. Oh, no, no, that's great. So you've, you've got a demonstration here this should be top center of your of your blog post. Absolutely. Because ASCII doc has the ability to embed. So, insert the video here as a video player frame. So that they can click it immediately it gives them, and you may even want to yeah that's that's about right because this much text will only be about halfway into most screens and then they'll see the video and realize oh I can watch a movie. Excellent. Now, and there is a there is some let's see we've got where is an example of an embedded video just a minute let's find one. I think that maybe I don't have one convenient I'll have to I'll have to forward it or actually why don't we just look just a minute. YouTube. And if I remember correctly. Yeah, here we go. For instance, in the introducing Jenkins minute blog post by Liam Newman. So let's we'll go find it and what that way we can embed it here for your reference. So, oops, I thought that was right. Huh, is Liam going by a different name now. Oh, okay great introducing the Jenkins minute video series. Here we go. So this one has an example of how you embed a video into right into a blog post. Let's see. Yeah, so let's make a note here. See that for the markup that is used to embed a video. Good. Very good. Any other any other questions dear Raj were there were there any problems you encountered while you were doing the view job filter configuration yourself things that surprised you. So while configuring it on the UI, I had no problems like, first I wanted to understand what the filters do. So for that I refer the documentation and the plugin site of that particular plugin. Then I understood what it is, and they showed me with the help of the diagrams what each filter does. So I was able to understand how to go about it and then everything was else was simple. Excellent. Excellent. Thank you. Thanks very much. Anything else you'd like any other questions you'd like to ask or any other guidance that you're seeking. Yes, so now I know what changes I need to do that I'll do that and after that I'll set up the Jenkins environment and then post my blog post. And after that, what other blog post or anything else that we are looking for that I can write. I'm asking for suggestions from you. Thank you. Yes. So, so if you're willing to do another another another on configuration as code for instance you could highlight some other capability, or if you and configuration as code has many things. And since here you've done a job filter, you could do another on on configuring configuring global settings, or if you're open for a particularly challenging one you could look at how you do credentials in configuration as code and credentials in configuration as code is relatively challenging because you don't want. Well, you're trying to you're trying to handle secrets well and secrets are challenging at least for me trying to find the way to manage secrets correctly. Right. So I think that would be interesting so I'll read about it for sure. Great. Is it just me is there any interest. The documentation that we have is in the read me for the repo. And it seems to me that it should be pulled into the regular admin into the admin guide. Is that just me does anybody else feel that way. I think I think that's exactly agreed Sudakar as sees that as well and is outlined that way. Absolutely. I think though that before we're ready to, to do that step we need to be sure that we got people who are confident using it so I wanted to be sure that Sudakar has has enough experience before starting to do that kind of a transformation, likewise for Sudakar if we need to be sure they're comfortable using it before they start transforming the documentation into the, into the site. So, if I'm not wrong. We were talking about converting this blog post into the main Jenkins admin site, right. So maybe I would phrase it a little differently was that I think what Meg was suggesting is that we really need, we need and and Sudakar has it here actually in. Let's see where is our, I must have lost my. Yes, here it is. Use of the jcast plug in needs to go into the Jenkins documentation itself. Right now, if you want to use configuration as code you have to find a video that will guide you and then read the documentation that's inside the plug in itself. Right, you have to go to go to the configuration as code page. And what makes point was is that we really need official documentation that lives outside of the configuration as code plug in repository. Oh, silly thing. Jenkins CI like that. So, today if I want to know how to use it I read the read me and. Great, but this is so central to Kubernetes use to use with with the Debian package with the RPM package with the windows installer. It can help in all those cases. So we should really describe it on Jenkins that I own not just in the plug in documentation. Okay. I don't know my approach you can slap me. I would take what is in the read me file, and just take it as is and turn it into a chapter in Jenkins.io. And then we could expand on it. I mean, it's decent it's decently written it's got some good information. And, you know, just my approach is then for something like the credentials and the secrets that that does get nasty to have the basic information written up here and then link to the video and the blog could be nice. But it's just a it's a question of approach I suppose. Yeah, so secrets management yeah there it is so okay. Yeah, and that that's I think it makes got a good a good idea is the notion that okay should we just take this material and put it onto the Jenkins.io page. So make let's let's take a minute and just look so when I look at here for example so we've got managing Jenkins. See do we already have a thing for configuration is code. I don't look. But we have configuring the system and I'd shove this in right after that. So here. Oh right. I see what you're saying. Yeah, got it. So this this makes actually this might be a great place for it is right on this page. Right, configuring the system page would be a, in fact, that is that where we had suggested it suit a car when we were discussing with in your outline. Yeah, configuration as code. We already have an action item on that. Right. So we've got a location for it. Yeah, and this configuring the system seems to make sense. So we don't have anything to be said about configuring the system without jcask. Yes, no no there's there's also plenty to be said there but it feels like jcask could easily be a dominant portion of this page. Describe configuration as code as a general concept and then introduce Jenkins features in regular classic context and in Kubernetes context. So these are the items the way I looked at it is I looked at okay. We are going to do Kubernetes solutions page, right. And then I, I listed my top level activities and then I tried to go through the documentation and see what is there and what is missing. And then I came up with my best. So one of the things that was missing was configuration. topic. Yeah, and I think this is the right place to put that. And certainly there will be other other things in this same page but we've got, we've got multi topic pages in many places right so for example, let's pick, let's see what's a good one managing users may have no. How about managing nodes. No. This page is woefully incomplete. Here we go themes for the user interface has multiple sections and so I think configuring the system one of its sections underneath this page could easily be configuration as code. Yeah, I could even consider embedding the videos into these into one or more of the locations here so that users could click in the video and watch the video and right in it. So, so, dear eyes back to you this is a place where, if I understand correctly, so the car you're going to be, you'll probably be a little while before you would get to this spot so if dear eyes wanted to explore this and try copying content in. We could look at that as a possible thing we could we could see it have him held. Would you be okay with that. So the car would you rather keep this one solo. See if you want to do it, but yeah, I want to give it. Okay. The approach I had was described the concept. And then go through how to use it. Right. And, and I think that's good. Yeah. The approach I am, I am planning to take for pretty much whatever I'm planning on. See, because when I looked at some I feel better if a document explains little bit the concept and then goes how to use it. It's easier to understand than completely being a task oriented document. I want to try and see how it comes out in this context of documentation. In the solution page. It's easier to do concept and task oriented format. But if I get into the manual specifically, most of it is task oriented. So I'm thinking how to fit the concept also there, like for example in the Kubernetes page in managing Jenkins section. I plan to introduce concepts, the relevant concepts, more briefly and succinctly than opposed to a big paragraph of text, which I find it difficult to focus. So that's what I'm trying to do. If you want to do it. Well, certainly the Kubernetes, the Kubernetes topics are very both broad and deep right so so they are, that's an ideal place for your, your technique of describing concepts certainly that makes sense. Absolutely. So for configuration of code. Yeah. That's what I had in mind. It is easier to be consistent if I do the whole thing, but right. Yeah, that's the only issue I have. Yeah, and I think you've got a good. That's a good point with with with if you do the entire Jenkins on Kubernetes, we will get more consistency that if we have multiple people attempting to do it. I think that makes sense. So that may lobby that rather than putting dirage into this section, let's have him look at others for now and see how how your progress goes. My progress should be pretty quick once I get started on putting things to paper. Okay, putting things to screen. Right. So, dirage, your, you had asked earlier, what's next. Right. And so, if we if we had you look at configuration as code in other use cases, and maybe what we have you do is blog those just like you blog this one. If you were to blog. Hey, here's how I use secrets with with it. That gives away for your, your contribution to be visible quickly and and gets you experience with configuration as code and highlights you to others. Would you be willing to do a second blog post on configuration as code. I think there are many different topics on on configuration as code that could fit into a into a series of blog posts. I would actually love to do that because it would encourage me to learn more on it and then documenting it for others that would be really great as well. Great. And I, I think that would be, I think that would be helpful for users and helpful for many others who could benefit by. Oh, look, here's how here's how dirage solve this thing. Here's how we did this thing. And that kind of experiences is a great experience. Thank you very much for being willing. Thank you very much. So, if you get time can you just watch the video when you're free and tell me if there's something which is unclear and is there any problem with accent or anything that I'm happy to redo it. I will do so particularly given that you've made it such a compact video I should have you feedback in 15 minutes or less. Great. Thank you so much. Thank you. We have almost run out of our time. Are there any other things I propose we call the last two topics around the list for another time, not worry about them today. I've, I'm approaching time when I need to go to bed. I assume it's what 830am for you and in Bengaluru. Yes. Excellent. Good. So, sorry, we get you up so early in the morning but thank you very much for for being part of this. This is, this is a real treat. We so appreciate your willingness to help. Thank you to both of you. Thank you. Thank you. Are we and could we ask how you guys are our new stories make it look like things are really bad in India. Are you guys safe. Yes, you are safe. But things are really bad.