 Welcome everyone. This is the 9th of June 2023. This is Asia documentation office hours. Topics today, Google summer of code. Some corrections in it 2.401.1 change log. Jeffrey Chen's poll request, and then some some topics that have been there before and we if we get to them great if not already already that those few things are good things. Anything else that needs to be added. That's good to me. Okay. All right, then. Let's go ahead with first topic Google summer of code so the Docker quick start project. Chris anything to report there or any any update. I think you like that project might be a might need a bit of chasing and pushing because I can. It should be a point where this will discuss like at least the first draft PR but I don't see anything yet. All right. Great. Okay, and then I'm building Jenkins I with alternate tools you indicated. There may be some styling changes. So, is there a should we look at something I haven't yet captured. Oh, because I do still have the link. He shared a link on the guitar. Good. Let's let me see if I can grab it and let's let's see if we can open up a sample. Let's see. So if we look in the get our chat channel. Okay. And here we are Jenkins docs and building with alternate tools. Okay, here we go. And. Oh yes. Okay, got it. So it's this document. Right. So I described in a Google doc. Let's open it right here. Yeah, that's great. We need to discuss. You have to pass a purchase or for your UX team. We do have some proposed changes. And I'm waiting for it to produce again, help pages version of the tour docs. Before presenting to the UX team. Okay, all right. Preparing a GitHub pages. Layout from Antora for discussion and review right but but with that already I think this. This gives us something here to discuss. I look at that and I think that looks great. I'll be preview of the site with the old content. So he's almost done with them with the actual like limitations. The tour docs. So, as soon as we can have a review by everyone on the next team. We can we can set up a preview link. We as a domain. So docs. Push it for all to see. Great. So, and eventually. So, final desk or the destination we're looking for is. Next dot Jenkins dot I'll write. I have to talk to, should I talk to Gavin Morgan or should I talk for info about this? So, both, I think, I think Gavin did the Gavin Morgan did the initial did the first implementation of preview sites for Jenkins that I'll. He certainly knows what he did. But I think the infra team did did the did final implementation or did additional change it did changes as needed. Or as requested by Gavin. So I think they understand how to do it and either one should work. So if we look at that, that preview site. Well, let's actually let's just open one of the existing pull requests. Here's the pull request from Jeffrey Chan that was on our topic list anyway and if we, if we jump to the bottom of this page here there will be a link to show environments view deployment. And there it is. And this is you see this is a site on Netlify, and they apparently are willing to host them for free. As part of this kind of as an open source project and so that it just happens naturally. On the UI UX changes this felt like a really good one. And I remember that there were other changes. Okay, the table of contents that usually occurs on the right hand side of our pages. Like, let's grab this one. Right. So here we go. This table of contents, the, the this proposed update looks perfectly fine to me I have no complaints about that kind of a change. And then code blocks changes. Okay, here with the sort of gray background and the soft blue background looks very, very nice as well. I mean, I assume that these are things that naturally came out of Antora, and therefore have been through Antora's development process to decide hey how will this work best etc. And I certainly like the, the change of, of admonition blocks I've seen a number of sites they're using this layout that shows the new layout with color, colored leader and a word that hints whether it's a tip or a note. Yeah, I think there's a badge. A badge. Okay, thanks. I'd like to go back to the code samples. I'm having a few I problems right now, and I cannot read the code. Oh yeah the contrast is not strong. The contrast is really. And I'm just looking at it on my laptop screen granted. Well, so it looks like it looks, it's good question. We ought to we have to ask to see if there's a way to is there a way to adapt that for, for people who visually may not have, have, you know, for the, for being readable for people who have low contrast or don't don't need high contrast is probably a setting that Antora has available. You guys, you guys can read the letters just perfectly fine there. I can see it, but I'm trusting that because this is a screenshot. My, my, not being able to zoom in enough. My problem is visibility at, at distance, not not contrast. Uh huh. So this I think I need new glasses right now but I don't think I'm. The current, the current money he captured and here's the. Yeah, so I think I see what you're saying Meg is that the blue background makes it a little harder to read the, the text, although in the screenshot he's got that's that feels worse than the one that I'm accustomed to. You're okay if I open up the document page itself. Let's look at actual examples. I don't feel below I saw the light blue with like a black with black lettering on it or you know and that I could that I could see outside of that section but I don't know. Well, so here's, here is a here are the existing code samples. That I can read easily enough. Okay, and that in what he's showing. Oh, I see because we have to change your font color. Yeah, well or the yeah the font color or the, or the attributes of the font that make making it. Yeah, more making it darker or, or higher contrast. But, but when I look at the example he took of the screenshot I think it, it doesn't capture what at least what I see, because for me. What he shows as current is lower contrast than what I see is as on any page that I open. Right. So I'm not I'm not overly worried then about about the lack of contrast there because I think it may just be an artifact of his, of his screenshot or his choices. Yeah. It's a question and if the UX people are going to review it they deal with this stuff all the time. Well, and Christina Pizzagale is very interested right now in accessibility. So it's a good thing for us to, to be sure that in part of the UX SIG we can invite Christina to say hey give us some feedback on on the readability of this. Once we've got a site, once there's a, you know, a prototype site either as a GitHub pages or somewhere else. Right. Yeah, see I'm, I agree with you though that it's, it's a struggle to read in this example that he's gotten a screenshot, even though I don't struggle to read it here. Right. Yeah. And I don't think I've done anything to my configuration to somehow force high contrast text or anything like that. Okay, nice, nice review option though this is great. Please be sure to, to thank, thank Vandit for the providing the comparisons. Now this one, this last one was blank. Oh, oh it's blank. Okay, so I should not be worried that it's in fact blank. Great. Okay, that's not my bad eyes failing to see something that's really good. Also a question about the table of contents on the right. Is that going to be anchored like the one in the left is. So when I scroll right down the page am I still going to have access to that. Oh, good. Good question I don't know I don't think that was mentioned Chris do you know if Vandit has made any mention of whether or not this the table of contents that's today. There's a float or a that scrolls with the page today, if it would remain visible, like the, the index entries are like the index on the left currently remains visible. There may be a problem because it goes into the text there doesn't it so if it was moving down is it going to shorten the lines in the section that it's next to. At least that's, that's been one of my, my, I, the table of contents for me staying at the top has been just fine because of the if it's incursion on the text that it's next to right. Okay, well I lived with the stuff on the left to but it sure was a nice when they anchored it. Yeah. So then you get greedy but if you know it's up there you can go back up. Let me check, check again with him because like, I haven't tested his site yet because I will do that over the next few days. But I was waiting for him to do more work first before I do that. I don't want to see broken images. Yeah, it's a very nice start. Yes, well it has a great look. And with some minor questions let's put minor questions. Is there a way for. Let's see how do we say accessibility. Yeah, I don't know. I don't know. Because I don't think I'm blind. I'm not in them thinking that's maybe deluding myself, but I am, I'm not thinking that my vision is so bad that I should be having to set accessibility options to read it it's just, you know, my eyes are not as sharp as they were when I was 20 I suppose but. So let's put it this way light blue background on on code examples makes make them more difficult to read. Maybe or maybe that the text is not it I mean it looks to me like the current stuff not in his screenshot what you're looking at that the gray is about the same darkness as the blue but the text is darker. Right. So maybe it just needs to be a different font or has higher contrast in Mark's view. Then in the screenshot. Yeah. Good. Okay. All right. And then the other question was, and I'm, we just discussed it and now it slipped my mind it was a table of contents for the sections. We love, love the sticky navigation on the left. Will the table of contents on the right stick as well. Yes. Yeah, should it does it on other and Torah sites. Right because one of the benefits here is that we get, we get to gain from all the experience that other and Torah sites have used. Great. Good. All right. Anything else. But I think a previous going to be ready soon. Okay, great. I'm going to be always starting to get her pages. Sounds great. Okay. Next topic then there are errors in the 2.401.1 change log that were discovered during Darren Pope's and I's live stream. Oops. That must have been fun. Well, I make mistakes. Exactly. It wasn't even an ad lib. It was clearly, oh, you're right, Darren. That's wrong. Exactly. So okay, we just smile and say, oops, that's wrong. So it's an easy one to fix. Now Chris, you had a good question in that you asked, what if, what if there are no changes in between 2.401 and 2.402 or 2.401.1 and 2.401.2. And the answer is we will still go proceed with a release. Okay. Still proceed with a release because the release clock. It's the same condition for us weekly if there were no changes from one week to the next with Jenkins weekly, the release clock ticks and we do a release. All right. Anything else on the 2.401.1 change log. Nope. Okay. Chris for you Kevin Martin's returns. Next Monday. Okay. So, if Kevin, if Kevin isn't available for the change log, then I'll help with it. Great. All right. Now Meg, I saw that you had made some review comments on the, the request from Jeffrey Chen. I want to give us an overview of what you what you had said and seen. Um, yeah, I, I've been picking at the pro. I mean, there's a lot of things that like need a topic sentence that looks, you know, how people write. So that, but then I'm also looking. Okay. So, and then I went back and saw your comments. So the, I'm not like this document. I'm not sure it actually makes sense. Mm hmm. Right. That maybe we should compare it. And my quick glance. This stuff mostly seems closer to what's in managing Jenkins and what's in at administrating, administering Jenkins. Okay, well, so are you okay if I open managing Jenkins and let's take a look at it. Absolutely. Okay, so, so here if we go to managing Jenkins. This has topics in it like configuring the system and managing tools and managing plugins and time zone agents and nodes that kind of thing. So, what were some of the themes that you read about in this or I guess we could we've got some stuff and do we know where tell them what the contents are of Jenkins underbar home. We not in the docs anymore. I don't think that is, and that might be a good thing to put in a managing section and how to change it. Right. Let's let's do a quick search just to see if somebody's we've got description of Jenkins home. So we've got backing up and restoring Jenkins. And this talks well so so maybe this is our description of the content and if we need a better description. It's probably a good place to put it here because it talks about configuration files, the job subdirectory things that don't need to be backed up. Okay, and stay right there. Let me find the line number. Okay. At. Yeah, starting line 46 of his PR. Okay, let's let's restore which actually doesn't seem as good as what's there so. Okay good and that's, that's one of the risks right is that there are sections brought from the wiki where we say look. I'm sorry that the material we've already got in the pages is better than what what the wiki is bringing so we should just strike it from the, from the content in that was proposed from the wiki. Basically he says just copy everything from Jenkins home down and call it a backup. Oh right, right exactly and and the backing up and restoring page, give some careful thought to hear some things you shouldn't back up. Okay, so that's one of the things that we're going to do is, and even if I remember I give some comments on why you should not save certain security sensitive files on to the same medium as your. Yes, I hopefully. Yeah, so okay good. So, so that feels like a good thing for us to be sure we capture that it's okay for us to say, hey this should be deleted from this. Let's take this for just a minute so this is you've given your comments and I'm confident that Jeffrey will take a will take those he's been applying changes pretty regularly when Bruno made some suggestions. Let's take a look at this page in its preview form. Okay, let's take a look. Where have I got it here preview. Oh, I need the preview site don't I. So let's open the preview site. And you may have to guide me Meg on where the pages inside it's is it. I don't remember it's a brand new page that he added under managing. It's under system administration and it's administering dash Jenkins.a doc. Okay, so administer oh it's this one is the one he added good okay. Okay, there we go. So now for me this, this page the Jenkins home directory thing is something that I don't I, I haven't seen it on the, on the site itself and there may be more things we need to add here. And certainly there are words there that we want to fix. I've hit some of those. Yeah, I've got good. Okay. And I did and it needs to I don't like the way it just says Jenkins needs some disk space so I mean I turned into a topic sentence and said Jenkins home is the top of the directory that contains file or something like that but right topic sentences. Okay, and then this one. This one I agree that is that is just discard right sorry that we've we've got an entire section about backup and restore that guides them on that. But as I look at the Jenkins home thing I think this may justify placing it somewhere I don't I don't really want a separate page called administering Jenkins, but I would like for us to find a place for this. How about Jenkins home directory as a page on its own. Well see, I was just thinking, isn't there one that already naturally has some other things we're describing is it. Well, okay configuring the system, which is completely empty. What if we put it there. That's possible. Other other examples system information. No that one's not really it. Okay, another one. Do we ever to where discuss the structure of config dot XML. I have forgotten this doc said we do we do not as far as I recall so let's let's go back here if we were to propose the change that this thing. This thing went into went into the managing Jenkins configuring the system. And then we we say that that would be the place we would put a description of what the XML files are that configure the system. Right. That's right because that's what I was looking like config dot XML I'd like to link to page that says that this will. We really, it always bugged me that we didn't have reference pages for stuff like that I mean yeah it's described under backup and restore. But if I just want to know what the structure is I don't expect to have to go to back up and restore. Right. How about moving and copying. I would, I would strike this entirely because there is now an operation in Jenkins that does that does a rename. Right. Right. So we've got my Jenkins controller has has renamed just like everybody else's does so I can, I can open it up and I can say I want to rename this thing and it's just a natural operation from the UI. Maybe we should describe that, but I don't think I don't think we should suggest to them that they would ever use file system commands to move copy and rename. I would, that's not my policy to say yeah and people I mean people do like the shell but yeah. But there's a lot of stuff that they can only do from the UI right so. Well, okay so so I don't even recognize this command. Okay. Have you ever seen a I don't know is there a Linux command for rename. No, it's there is. Oh my safe you learn something new every day. And it's got, it's got a wild card. And of course it's not POSIX at all. Yeah. Oh, oh even better Meg you'll love who is the author of the command of the command. Oh my. Oh, isn't that amazing. The author of Pearl the original author of Pearl wrote this command. And I am pretty sure that it is not a POSIX command just a minute let's get into my non Linux machine. Oh no, it has it oh no it has only the C library. Yeah so so the the command that they're offering here is Linux specific won't run on macOS won't run on free BSD won't run on open BSD and won't run on Microsoft windows. So I think this one should go because because it's also file system. Yeah. He's got you copying a subdirectory of stuff over you know it just right probably it probably would work and if you know enough to be playing around with something like that and figure it out you might be able to pull it off. And if we want to describe that hey jobs are represented as files on the disk. That's that's not unreasonable. I'm just not sure actually I'm confident I don't want to encourage users to use file system commands to manipulate Jenkins jobs. Right. And now archive unused jobs I think that's kind of within what we've got for backup don't just that have something in there. If you want to like, you're not backing it you want to throw it off to something so you can delete it but have have it someplace where you could retrieve it if you need it. Yeah it's an interesting idea I I'm a little surprised that we don't have a plugin that does archive of jobs. No, we don't. Yeah, so I don't have an answer on that one. I've it's a it's a valid question. It might be something that when if I were going to do anything with it I would put it within the backup. Right. Oh, exactly. Maybe this belongs in the backup page saying hey. Oh, there it is. There is one the shelf project plugin. Got it. Okay, and, and it's even maintained by Pierre Bates. So, so it's got an active maintainer. 2000 installations is not bad. What's it's hang on just a minute let's check for its health score. So if we look for shelf health score is 93 out of 100 so it's not bad. And the things the oh it is not up for adoption so what what are the detractions from its score a repository config. Oh, okay it's not doing automated release and it doesn't have contributing guidelines not bad. So the score a score of 93 out of 100 is not bad at all. Right. Yeah. So then, then I would think we ought to leave that in terms of move that into where was it now where did it go. Come on, come on Mark. What are we doing with this this should move do we want that in the minutes do we want this in comments to the. I think I think let's captured in the minutes for now. Okay, good and then and for speed and then I can put it in as comments into the poll request later. Cool. So I think finish going through and nitpicking at the pros for anything that survives. Excellent. All right, so let me, and let me capture the moves so. So the archive the room specific tasks, tasks include remove the mention of or replace the rename instructions with UI screenshots and instructions so this is something that that Jeffrey could do is look rename really exists it needs to be that then move the archiving a job into the backup and restore. Right above that put to remove the backup and restore section. Oh right yes remove the remove the backup and restore section we've already got. Already have a better page. Good. Okay. We want to conserve the information about Jenkins home. Oh yes, both how how to move it, and what the contents are and we're going to put that into the currently content free configuring main managing slash configuring Jenkins. Yeah, so configuring the system under manage Jenkins. And we're also going to move what we've got. Let's know we don't have anything about config dot XML Julie. Well, no but consider adding some text to describe XML configuration files. Right. And also because actually, that probably needs some work to because. Oh, my Jenkins knowledge is getting very rusty, but config dot XML if you're doing config with code has a different role than if you're not right. Well, that's a that's a good point pointers to and we've we've got a section on configuration as code already. I think it's the next one up actually after the right where was it let's go there so they're managing managing we've got configuration as code, second page right after configuring the system, right. And for me this, that's a good choice for the second one have as in the first page we talked a little bit about Jenkins as home Jenkins home, and their next thing to read is oh here's how you configure this code. I just saw. Oh, what did you run for something. There was another alternative configuration and where where where where where where where. Um. I'll tell you later. I'll find it. As I was going around and something was mentioned about config dot XML, unless you were using configuration as code, or something else that. Oh, Groovy and Netbooks. right now, right there. Oh, the groovy hook scripts, this one? Oh, okay, that, um, yeah. Actually, I'm almost prone to say this one. Well, it's still listed as work in progress, but it's got some reasonable content. Yeah, do you remember, like I said, I would go through the number one and with the tax, the working progress tax. Sorry, could you say that again, Chris? So, I think, like, for this summer, I will start going through the documentation to use a guide with the working progress tax for some of the dog pages. And I think if they are, I think it's perfectly reasonable for pages like this one to say, look, this is no longer a work in progress. It's got a reasonable description of groovy hook scripts, and they're copied from, so it's perfectly reasonable to say not a work in progress any longer. But now, if you were using these, does that impact what your config.xml contents are? It certainly does. And it, well, I think, I think it will tell you that here, it's going to run some additional things right after Jenkins startup. And because it can access classes in Jenkins and all the plugins, it absolutely is making configuration changes. And will it write those to config.xml? It does, yes. That's usually the goal of these changes is to write them into a permanent config file. What if somebody, because people, what if somebody subsequently goes in and manually edits config.xml when they're using these hooks? So the last writer wins. Okay. But it's still, things would still work. You wouldn't just blow up the system. Well, if you make a damaging edit, it will, things will blow up the next time it restarts. Right. But if you made something that would be a reasonable edit, if you weren't using the groovy init hooks, it would work fine. Correct. I remember there was a time with Jcast, there was an issue or something where if you did something in the file or if you did something on the screen and but we're using Jcast that Jcast was going to overwrite it the next time you stay. And that is still the case. And I think that's actually described here as saying that, hey, if you, if you are, excuse me, if you are using configuration as code, next time Jenkins starts, it will apply your configuration as code changes, or if you do reload existing configuration, and you'll see, hey, you don't have to restart because anytime you reload, it's going to make the change. Right. I was thinking, dad, when I was still there that they had fixed the UI, so if something had been set by Jcast, it was read only and it wouldn't let there's, there's an option to do that. There actually is an option to do that. And, and you can, you can configure configuration as code or the permissions to say, oh, we're not going to allow any changes in the admin UI because we know you've got configuration as code enabled. Okay. Okay. All right. Were there other action items that we had other specific tasks? So back to the original material at the beginning. Okay. We got Jenkins home directory. Okay. Just a minute. So I need to reopen that environment. Okay. So here we are, and it was in system admin in the administering Jenkins page. Okay. Jenkins home we talked about. Backup and restore is a dilly. Oh, right. Did we mention in here, remove the pages? Okay. Remove the references to, oh, no, it's there. It's this one. Got it. Okay. Yeah. Okay. Oh, go back to where we have the listing. Again, go back to the play out of it. The listing of what's in Jenkins. Okay. This one. Oh, right. The word. Do you want the commentary to be in parentheses like this, or do you want it to be as a code, as a code comment? You know, I'm, I'm okay with either. I find, I find this as readable as anything else. Others comments. What, what, what have you found works well for readability? I don't know. I find some, some geeks complain if it's, you know, they say, if I copied this out, but what are you going to copy this to? I actually find it a little more readable than having the slide star or whatever. But Oh, I see. Right. Well, I didn't know what the standard was or good point. So let's, let's look at a competing standard that I find less readable, actually. Okay. So here is, here is an attempt to do annotated code in the current site. Right. And this is using a facility that's built into ASCII doc. So this, this, this circle, this number one, circle number two, and, and okay, that gives us lots of room to make the description. But for me, this is harder to read than, than the layout that has been used here. Right. Now, if, if these were sentences, this would become impossible to read. Right. But given that it's not actually sentences, it's just barely minimal text. Yeah. What do you think, Meg? Are you, are, would you prefer, because this could easily be switched and say, Hey, let's make it look like the others with, or Chris, have you seen any mention from, from, from Vandit on this kind of annotated example? I think it showed us like a preview on video, but not everything. So I think he has done it already, but I'm not sure how he did it. Okay. And, and so Antora still has a concept of this kind of thing. Not sure. Okay. All right. Let's see. So well, and we could, we could, we could actually do the research here to see good, good point though. So the idea for me, Meg, this is good enough for first, first attempt. And if we choose to change it later, we can certainly do that. And you might, when Kevin gets back, you might ask him what he thinks. Oh, yeah. Sort of his job to worry about this. This is one of those things I've been through so many religious battles. And it's one of the, I don't, I'm, I'll do anything. Just stop screaming at each other. I don't care. Right. Right. Exactly. But so I see it as the sort of thing that I know can set off battles. So it's like, let's notice it go by and say, right. So well, and let's, let's put a, a note to ourselves in it. We accept that, accept that the inline descriptions of each item in the listing are okay. May change in the, change it in the future, but okay for now. Yeah. Good. Okay. Very good. What is coming that I haven't gotten to? I'm pretty well, battery naming jobs. Right. That one's gone. We have unused jobs we took care of. Right. I know I am beyond that. Okay. And then, oh, and then we've got, oh, but I haven't gotten to yet. Ah, using chap underscore is chapter.yama under doc book using under Jenkins best practices. Oh, so there's another file. Okay. All right. Oh, good. Okay. So, so I haven't been there yet. I haven't either. Okay. Well, so let's talk to this one first topic. Um, this one, we've already got it. Okay. This one, we've got it. This one, we've already got it. So those two for me are just deletions. Always secure Jenkins. We, we talk about that already very, very soundly and stuff that Daniel Beck and others have reviewed from the security team. Although, but you know what we don't have the people, God, people want the best practices stuff. They don't. What I'd, I'd rather have the best practices, not have unique information, but say something, be sure to secure the system C and a link. In other words, because I, this is someplace where I rather than reading through all the stuff that's on the left of the screen for best practices, a place that like stands up, but don't give me the details. You know, we had, I don't have the best practices have unique information, but I tell me secure the system, go here to see what we mean. And that's, and that's a fair point. We could, this could be delete this text entirely because we've already got securing Jenkins and we've got warnings. We've got pages that tell them building on the controller is a really bad thing. It's not even on larger systems. It's a bad thing in general. Right. Right. Don't build on the controller. Perform backups. This is again, linked to the backups page. I like that one. Yes, that's good. Okay. This one, I'm, I'm, I'm not a big user of fingerprinting. So for me that's I got that when I was, I got the feeling that fingerprinting was a big thing for the artifacts at one point and then it sort of went away. Yeah. And I'm sure there are use cases for it in mine. It, my case, semantic versioning has been, been good enough and release early release often, but yeah. Okay. I mean, maybe, maybe it should be managed dependencies and you can do it through fingerprinting. I'm sure there's, there's, I'm sure there's a section on fingerprinting somewhere. Yes. Yes, there certainly is. So, you know, but, but that's, you know, it's always used fingerprinting, you know, say, no, you're managing your dependencies and you could do it this way or this way or this way. Yes. See, I'm, I'm prone to say on these, a number of these things that were previously listed as, as best, best practices are probably no longer even best practices, right? So, interesting. Yeah. So this, this page needs more view and I apologize. I've sort of run out of time. Oh, it is that time. But thank you very, very much. The recording will be available for, for review and I'll actually, I think link to the recording so that Jeffrey can, can review what we've said and see some, see, see those comments. Right. But a very, very nice start to this. Right. Well, and thank you, Meg and thank you, Chris, for taking the time to, to review it today. Any other topics before we close? Nope. Nope. I'm good. Center seven is still on its path to death. Right. I'm sorry. What is still on its path to death? Center seven. Oh, it is. Yes. The end of life notifications have been delivered here. I show you the, show you the blog post. The blog post is posted and we haven't had any people. Actually, one bug has been fixed. We must, I mistakenly hadn't off by one error in the year for end of life for Fedora 38. It's like, instead of 2024, when actual Fedora 38 end of life is, it was 2023. And so the users were mistakenly seeing it. Oh, I have another year. End of life. Right. For Fedora 38. They've got another 12 months. And, and so the bug report was submitted by a Fedora 38 user and we fixed it in the last weekly release so that that is resolved. Fabulous. Yeah. So Fedora 36 is already unsupported. Ubuntu Linux 18 is already unsupported and Alma Linux 314 is unsupported. So thus far, there hasn't been any outcry about, Hey, how dare you tell me my operating system has reached end of life. Right. So they should be knowing that for other things too. So like I'm, I'm still running an 1804 Ubuntu sitting here. That's terrible. What an awful thing to say. Well, it's, it's because the computer's 12 years old and it's, I mean, I have to reboot it every two days or it goes dead. I have a brand new one sitting on my sunburn where it's been for three months with a stick in it running windows waiting for me to reboot it install a current Ubuntu on it and I never get to it. So, so you should, you should act on your shame and go get that thing installed. I will in the ecopious free time. Exactly. All right. Thanks everyone. Thank you very much. Talk to you next week.